Hi,
den Script einfach im Agenten zu kopieren klappt leider nicht "Variant does not Contain an Object"
liegt daran, dass du auf das "Source" = NotesUIdocument = "Dokument das dem User Offen da liegt", worauf das UI hindeutet, zugreifen willst:
Sub Querysave(Source As Notesuidocument, Continue As Variant)
...
' If Source.IsNewDoc Then Exit Sub 'Wenn UIDoc neu ist dann verlasse Script
' Set doc = Source.Document 'UIDoc zu Backend-doc
End Sub
Ausserdem wird das "Source As NotesUIdocument" im QuerySave automatisch übergeben, du müsstes es aber noch initieren mit z.B. "NotesUIWorkspace.Currentdocument"
Es wird aber auch scheitern, wenn du den Agenten vom User aus starten willst, da dann der Agent im Namen des Users läuft und es auch nicht darf.
Du benötigst also einen Agenten, der die Aktualisierung vom Server (mit dessen Berechtigung) aus macht, z.B. ein "Zeitgesteuerter"/"scheduled"- Agenten, der wiederum wissen muss, welche Dokumente du "ändern" willst.
Hierbei kannst Du aber nicht über das UI-Dokument arbeiten,
sondern nur im Hintergrund auf das NotesDocument. (in deinem code das 'doc')
(OK hier gibts auch Ausnahmen, aber die sind hier irrelevant.)z.B. kannst Du so vorgehen:
alle "Hauptdokument" die geändert wurde (-> Änderungszeit oder Flag) einsammeln,
und von denen dann die Unterdokumente zu aktualisieren.
Ich kann Dir gerade nicht alles verraten, aber hierzu noch ein paar Stichworte:
NotesView
getDocumentsByKey()
NotesDocumentCollection
getFirstDocument() / getNextDocument(Doc)
Such mal hier im Forum oder schau dazu in die Desinger-Hilfe
Gruss, Pete(r)