Ok, stimmt ganz schön unübersichtlich. Versuche mal zu erklären:
Querysave: Abfrage von Pflichtfeldern, die gefüllt werden müssen, bevor das Doc gedruckt oder gespeichert werden kann.
Speicherbutton (siehe oben)
Queryclose: Info an den User, dass er das Doc nicht mehr bearbeiten kann, wenn es erst mal geschlossen ist. Falls ja, Feld $Saved setzen und im Backend speichern. Der Code dazu ...
Sub Queryclose(Source As Notesuidocument, Continue As Variant)
On Error Goto errHandler
Dim doc As NotesDocument
Set doc = Source.Document
'check if doc in EditMode
If source.EditMode Then
'check if doc is new
If source.IsNewDoc Then
If Messagebox ("Dieses Dokument wird nicht gespeichert." & Chr(10) & _
"Wollen sie wirklich schließen?", _
MB_YESNO + MB_ICONQUESTION, "Schließen") = IDNO Then
Continue = False
Exit Sub
End If
Goto exitScript
End If
'check doc save status
If (Not doc.~$Saved(0) = "1") Then
If Messagebox ("Nach dem Schließen kann dieses Dokument nicht mehr bearbeitet werden." & Chr(10) & _
"Wollen sie wirklich schließen?", _
MB_YESNO + MB_ICONQUESTION, "Schließen") = IDNO Then
Continue = False
Exit Sub
End If
'Set the $Saved field
Dim item As NotesItem
Set item = doc.ReplaceItemValue( "$Saved", "1")
Call doc.Save( True, True )
End If
End If
exitScript:
Exit Sub
errHandler:
Msgbox "Es ist ein Fehler aufgetreten." & Chr(10) & Chr(10) _
& "Fehlermeldung: " & Error$ & Chr(10) _
& "Fehlernummer: " & Err & Chr(10) _
& "Codezeile: " & Erl & Chr(10) _
,64,"Error"
Resume exitScript
End Sub
Wenn Doc aber noch nicht gespeichert ist und der User ESC drückt kommt eine Dialogbox, ob er speichern will. Das woltle ich mit SaveOptions verhindern. Klappt ja auch, aber so gut, dass das Doc garnicht gespeichert wird.
cu
der B@sti