Ok, ich nehme es zurück, dass es nicht geht.
Eigentlich ganz einfach. Hier mein Experimentalcode:
On Error Goto Error_handling
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim session As New NotesSession
Dim reg As New NotesRegistration
Dim targetdb As NotesDatabase
Dim doc As NotesDocument
Dim KeyFilename As String
Dim currentUserName As String
Dim id_path As String
Dim id_password As String
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
KeyFilename = session.GetEnvironmentString( "KeyFilename", True )
currentUserName = session.UserName
id_path = "c:\pfadderidmitderunterzeichnetwerdensoll.id"
id_password = "kennwort der id mit der unterzeichnet werden soll"
Call reg.SwitchToID( id_path, id_password )
Set targetdb = New NotesDatabase( "", "" )
Call targetdb.Open( doc.DefaultServer(0), doc.DestPathName(0) )
If Not targetdb.IsOpen Then
Msgbox "Die Zieldatenbank konnte nicht geöffnet werden!",0+16,"Abbruch"
Exit Sub
End If
'Datenbank signieren
Call targetdb.Sign( DBSIGN_DOC_ALL )
'Zur alten ID wechseln; Kennwort falsch, damit Kennworteingabe angezeigt wird
Call reg.SwitchToID( KeyFilename, "?" )
If currentUserName <> session.UserName Then
Msgbox "Achtung: Sie arbeiten immer noch mit der Unterzeichner-ID " & session.UserName & "!",0+16,"Wechsel der ID fehlgeschlagen"
End If
Ende:
Exit Sub
Error_handling:
Msgbox "Es ist folgender Fehler aufgetreten: " & Str(Err) & ": " & Error$
Resume Ende
Andreas