Ich würde sagen, Du kannst es machen wir Pfarrer Nolte: So oder so.
Hier die Variante mit LS:
| Sub Click (Source As Button) |
| |
| Dim ws As New NotesUIWorkspace |
| Dim docCurrent As NotesDocument |
| Dim vDTList As Variant |
| Dim vActDT As Variant |
| |
| Set docCurrent = ws.CurrentDocument.Document |
| |
| If Not (Isdate (docCurrent.DTList (0) )) Then |
| docCurrent.DTList = Now |
| Else |
| vDTList = docCurrent.DTList |
| vActDT = Now |
| vDTList = Arrayappend (vDTList, vActDT) |
| docCurrent.DTList = vDTList |
| End If |
| |
| Call ws.ViewRefresh |
| |
| End Sub |
Zu beachten ist, das Arrayappend eine etwas fragile Konstruktion ist (ich habe dafür eine eigene Routine und verzichte komplett auf Arrayappend): Wenn Du nicht den Umweg über vActDT = Now gehst, sondern als zweiten Parameter gleich Now einsetzt, kannst Du Quincy (R5) oder dem NSD (R6) bei der Arbeit zusehen - Notes geht gnadenlos krachen. Vorteil: Wenn Du danach den Desktop komprimierst (ein Totalcrash ist eine hervorragende Möglichkeit dafür

), dann wird dieser anschliessend wieder wunderbar klein.. Nur nicht wundern, dass einige Icon längst gelöschter DBs wieder auftauchen

Und hier die kürzere Variante: Der Rückgriff auf die mächtigen und meist effektiven @functions via Evaluate:
| Sub Click (Source As Button) |
| |
| Dim ws As New NotesUIWorkspace |
| Dim docCurrent As NotesDocument |
| Dim vDTList As Variant |
| Dim vActDT As Variant |
| |
| Set docCurrent = ws.CurrentDocument.Document |
| |
| If Not (Isdate (docCurrent.DTList (0) )) Then |
| docCurrent.DTList = Evaluate ("@Now") |
| Else |
| docCurrent.DTList = Evaluate ("DTList : @Now", docCurrent) |
| End If |
| |
| Call ws.ViewRefresh |
| |
| End Sub |
Anmerkung:
Ich habe für diese Snippets auf ErrorHandler verzichtet. Das ist m.E. für Prinzipbeispile dieser Art unnötig. Ausserdem hat jeder anständige Programmierer da sowieso eigene Standards.
Und: Die Variante mit Evaluate lässt sich mittels @Trim noch verfeinern und auf eine (eigentliche) Zeile eindampfen. Logisch. Für die Gegenüberstellung habe ich es aber mal so gelassen.
HTH,
Bernhard