Hall rhaller,
Frage zum Verständnis...
Mit...
Set uitool = ws.Editdocument (True, tooldoc, False,,, False)
uitool.Close True
... öffnest du das Hauptdokument "tooldoc" und schließt es danach gleich wieder, um es direkt danach mit ...
ws.Editdocument True, tooldoc, False,,, False
...erneut zu öffnen?
Also um auf das Hauptdokument innerhalb eines Antwortdokumentes zugreifen zu können, habe sich für mich bisher folgende Vorgehensweise etabliert:
Maske des Antwortdokumentes
(Declarations)
Private uidoc_parent as NotesUIDocument
Initialize
Beim Öffnen des Antwortdokumentes wird ein Object des Hauptdokumentes in der globalen Variable gespeichert. Auf dieses Objekt kann man später z.B. im Querysave, Queryclose oder anderen Actions im Antwortdokument zugreifen und damit arbeiten.
Dim uiws As NotesUIWorkspace
Set uiws = New NotesUIWorkspace
Set uidoc_parent = uiws.CurrentDocument
Queryclose
Beim Schließen des Antwortdokumentes wird auf das Objet des Hauptdokumentes zugegriffen. Damit kann man dieses in einen anderen Modus versetzen, Felder aktualisieren oder eben speichern bzw. schließen.
Dim doc As NotesDocument
Dim doc_parent As NotesDocument
Set doc = source.Document
If Not(uidoc_parent Is Nothing) Then
Set doc_parent = uidoc_parent.Document
If doc_parent.UniversalID = doc.ParentDocumentUNID Then
If Not(uidoc_parent.EditMode) Then
' change mode if not already done
uidoc_parent.EditMode = True
End If
' update parent document
doc_parent.Item = "foobar"...
End If
End If
Aber ein Dokument erst zu öffnen, dann zu schließen, um es dann wieder zu öffnen, macht eigentlich keinen Sinn.
Bleibt also die eigentliche Frage bestehen: Was ist deine eigentliche Anforderung?