... ich hab' mir deinen Code angeschaut. Schön kommentiert, da sieht man wenigstens was ;D
Mir ist nichts aufgefallen, warum du den Spagat mit Frontend und Backend machst. An allen Stellen, an denen du einen Close ausführst würde ich ...
doc.SaveOptions = "0" 'speichern wird nicht abgefragt
... gegen ...
uidoc.FieldSetText( "SaveOptions" , "0" ) 'speichern wird nicht abgefragt
... ersetzen
Zu Beginn deines Codes löschst du die Inhalte der Empfänger-Felder und des Betreffs - ich würde zunächst die beiden Abbruch-Bedingungen mit Attachments und Text im Body durchführen - und dann die Felder leeren - was aber in deinem Fall keine Rolle spielt...
An welcher Stelle erscheint denn die Speicheraufforderung - eventuell würde ich Print-Statements einbauen, dann hast du mehr Kontrolle über den aktuellen Verlauf. Ansonsten mal im Debugger nachschauen, an welcher Stelle genau die Aufforderung kommt, denn da liegt ja der Hund begraben...
Toni
Hallo Toni,
danke für die frühe Mühe, doch leider vergebens. Ich habe über den Debugger das mal durchfahren lassen und sobald ich, wie schon zuvor beschrieben, Text in den Body eintrage, kommt die Speichermeldung, nachdem
Call uidoc.Close(True) 'Memo wird geschlossen
aus dem Teil
' löscht alle Einträge im E-Mail-Kopf
uidoc.FieldClear("EnterSendTo")
uidoc.FieldClear("EnterCopyTo")
uidoc.FieldClear("EnterBlindCopyTo")
uidoc.FieldClear("FaxToList")
uidoc.FieldClear("subject")
' Liest den Text aus dem Body aus
textOfBody = uidoc.FieldGetText("Body")
If Len(textOfBody) > 0 Then
Msgbox faultMessageBody,MB_OK & MB_ICONSTOP ,"Warnhinweis"
uidoc.FieldClear("Body")
doc.SaveOptions = "0" 'speichern wird nicht abgefragt
Call uidoc.Close(True) 'Memo wird geschlossen
Exit Sub
End If
Wenn ich jetzt deinen Rat befolge und das mit der Methode FieldSetText mache, fordert er bei mir ein Feld. Dieses habe ich dann auch erstellt. Dennoch bringt er an dieser Stelle die Speicherabfrage. Dann habe ich das Feld manuell auf "0" festgelegt: Trotzdem die Abfrage nach dem Speichern.
Ich habe keine Ahnung, woran das liegen könnte... :-:
Vielleicht hat ja noch jemand eine Idee!!??!!
Bis denne Ork
Super das ist schon mal ein Anfang.
Nur selbst, wenn ich mir ein simples Beispiel raussuche, wie zum Beispiel folgendes:
Sub Click(Source As Button)
' DEKLARATION
' LN - Vorgaben
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim textOfBody As String
' INITIALISIERUNG
Set uidoc = workspace.CurrentDocument
'________________________________________________________________________________
'FEHLERVORBEUGUNG
' löscht alle Einträge im E-Mail-Kopf
Call uidoc.FieldClear("EnterSendTo")
Call uidoc.FieldClear("EnterCopyTo")
Call uidoc.FieldClear("EnterBlindCopyTo")
Call uidoc.FieldClear("FaxToList")
Call uidoc.FieldClear("subject")
' Liest den Text aus dem Body aus
textOfBody = uidoc.FieldGetText("Body")
If Len(textOfBody) > 0 Then
Msgbox "Fehler - Abbruch!"
Call uidoc.FieldClear("Body")
Call uidoc.FieldsetText("SaveOptions","0")
Call uidoc.Close(True) 'Memo wird geschlossen
Exit Sub
End If
End Sub
Dabei habe ich in der Maske Memo ein Feld namens SaveOptions eingetragen, mit keinem Wert zum bearbeiten.
Trotzdem bekomme ich die Abfrage nach dem Speichern!
Noch irgendwelche Vorschläge...??
@Bernhard, ansonsten klappt das Programm aber ohne Probleme, ausser dieser Punkt mit den Änderungen vorm Klicken des Buttons!