Hallo zusammen,
Ich versuche mich erstmal an der Lotus-script-sprache und scheitere schon beim hinzufügen eines Items im Document. Ich bekomme immer die Meldung: "Object variable not set". Hier der dazugehörige code:
Dim session As New NotesSession
Dim doc As NotesDocument
Set doc = session.DocumentContext
Call doc.ReplaceItemValue("Status", "processing")
Call doc.Save( True, False , False )
Ich hab es auch schon übers NotesUIWorkspace und übers NotesUIDocument versucht, aber leider mit dem gleichen Ergebnis. Dürfte doch eigentlich nicht so schwehr sein, dachte ich zumindest :-)
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
Call doc.ReplaceItemValue("Status", "processing")
Call doc.Save( True, False , False )
Halt das, was oben angegeben ist.
Der Rest gehört zum Standart-Template und hat mit diesen Zeilen nichts zu tun.
Eine Frage habe ich noch. Warum liest mir dieser Code nicht den Status aus, wenn er gesetzt ist?
Der debugger verriet mir, dass das der Fall ist. Trotzdem wird das Symbol 100 angezeigt.
REM {DNT};
nFollowUpSet := @If(@IsAvailable(FollowUpStatus);@TextToNumber(FollowUpStatus);
!@IsAvailable(FollowUpStatus) & @IsAvailable(FollowUpDate) & !@IsText(FollowUpDate) ; 2;
0);
nPriority := @Text(nfollowupset);
@If(@IsError(nFollowUpSet); ""; nFollowUpSet = 0; "";
nFollowUpSet = 1; 181; nFollowUpSet = 2; 182; nFollowUpSet = 3; 183; "");
@If(@IsAvailable(Status); @If(Status = "processing"; 98; Status = "done"; 99; 50); 100);
Es geht um die letzte Zeile. Der Rest ist die originale Zeilenformel.
Kann mir da jemand helfen?
Du brauchst auf der linken Seite natürlich etwas, auf das die rechte Seite des Ausdrucks zugewiesen wird.
In welches Feld soll denn die 100 geschrieben werden?
so etwa:
FIELD statusCode := @If(@IsAvailable(Status); @If(Status = "processing"; 98; Status = "done"; 99; 50); 100);