Vielen Dank für eure Hinweise. Der Hinweis mit @UpdateFormulaContext scheint zu klappen. Der ganze Vorgang ist wie gesagt ziemlich umfangreich und in Formelsprache programmiert. Ich will nicht zu viel eingreifen, nur versuchen etwas zu optimieren.
Entschuldigung, es geht nicht um Ansichten, sondern um einen privaten Ordner. Dieser soll geprüft werden, ob er Dokumente enthält und dann auf Anfrage geleert werden oder nicht.
Die Anwendung benutzt u. a. folgende Befehlsfolge:
@PostedCommand([ToolsRunMacro]; "Agent1");
@PostedCommand([ToolsRunMacro]; "Agent2");
@PostedCommand([ToolsRunMacro]; "Agent3")
Agent1 enthält die Befehlsfolge:
@Command([OpenView]; "Ordner"; ""; @If(@ViewTitle = "Ordner; "1"; "0"))
Agent2 enthält die Befehlsfolge:
@If(@Text(@DocumentUniqueID) = @Repeat("0"; 32);
@Return("");
""
);
@If (
@Prompt([YesNo]; "Titel"; "Anfrage") = 1;
@Do(
@Command([EditSelectAll]);
@Command([RemoveFromFolder])
);
""
)
Agent3 enthält die Befehlsfolge:
@Command([FileCloseWindow])
Ich könnte das in LotusScript auch über NotesView.AllEntries, Anfrage stellen und dann ggf. NotesViewEntryCollection.RemoveAllFromFolder erreichen.
Noch eine Frage zum Unterschied von ToolsRunMacro-@Befehl und RunAgent-@Befehl. Sind diese äqivalent bezüglich der Abarbeitung im gleichen Prozess, außer natürlich, dass ToolsRunMacro erst am Ende der Formel und RunAgent sofort ausgeführt wird. Es wäre dann wirklich ein Makro wie aus anderen Programmiersprachen gewöhnt.
In LotusScript wird bei NotesAgent.Run dagegen wirklich ein neuer Prozess aufgemacht.