Das Notes Forum
Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Pinky0105 am 02.06.16 - 12:48:07
-
Hallo zusammen,
ich habe die nächste Anforderung für mein Excel-Makro erhalten. Es soll die Möglichkeit geben, mehrere Mails nacheinander zu versenden.
Alles soweit ok, funktioniert auch bis auf eine Kleinigkeit. Wenn die Mail gesendet wird, schließe ich das Mailfenster anschließend. Dabei öffnet sich die Abfrage ob ich Änderungen speichern möchte. Wie kann ich das Mailfenster schließen, ohne das diese Abfrage kommt. Es soll auf jeden Fall gespeichern werden.
Mein Code-Ausschnitt hierfür sieht wie folgt aus:
Set session = CreateObject("Notes.NotesSession")
Set db = session.GetDatabase("xxxxxxx", "xxxxx.nsf")
If db.IsOpen = False Then db.OPENMAIL
Set doc = db.CreateDocument
With doc
.form = "Memo"
.SendTo = EmpfMail
.Subject = Betreff
.Sign = "0"
.SAVEMESSAGEONSEND = True
.PostedDate = Now()
.ReplyDate = Termin
End With
Set Workspace = CreateObject("Notes.NotesUIWorkspace")
Set uidoc = Workspace.EDITDOCUMENT(True, doc)
With uidoc
.GOTOFIELD ("Body")
If Anrede = "Herr" Then
.inserttext ("Sehr geehrter Herr " & EmpfNachName & "," & vbCrLf & vbCrLf)
Else
.inserttext ("Sehr geehrte Frau " & EmpfNachName & "," & vbCrLf & vbCrLf)
End If
.inserttext ("nachstehend erhalten Sie Ihre Planungsaufgabe:" & vbCrLf)
.inserttext (vbCrLf)
Sheets("Formular").Range("A5:G22").Copy 'Bereich mit dem zu übernehmenden Text
.Paste
.inserttext (vbCrLf)
.Send
.Close
End With
Die Option ".SAVEMESSAGEONSEND" habe ich sowohl mit True als auch mit SaveIt probiert. Beides scheint komplett ignoriert zu werden.
Bin für jeden Tip dankbar.
Beste Grüße
Pinky0105
-
zwischen .Send und .Close eine Zeile mit .Document.SaveOptions="0" probieren...
-
Ok, vielen Dank, die Zeile hab ich eingefügt und es kommt auch die Abfrage nicht mehr. ;D
Die Mails werden versendet und kommen auch an, aber sie erscheinen nicht mehr unter den gesendeten Mails.
Dort möchte ich sie aber speichern, jedoch ohne diese Abfrage. Der Wert "1" bringt leider wieder die Abfrage zum Vorschein.
Gibt es noch eine andere Möglichkeit?
-
Vor (!) dem .Document.SaveOptions = "0" das Dokument speichern, also ein .Save einfügen.
-
Laufzeitfehler '7417':
Notes-Fehler - Diese Operation ist nicht zulässig, während ein Dialogfeld angezeigt wird.
Nun kommt ein anderes Dialogfeld als beim Schließen:
Möchten Sie Ihre Änderungen senden, speichern oder verwerfen? Klicken Sie auf 'Abbrechen', wenn Sie die Bearbeitung fortsetzen möchten.
-
Dann speichere halt im Backend: Gleiche Stelle, aber ein doc.Save (True, False, True)
-
Danke für den Tip. Das habe ich eben mal versucht, aber VBA erkennt dies nicht an.
Es wird ein "=" erwartet. Somit habe ich es mit .save = (True, False, True) probiert aber das akzeptiert VBA genauso wenig wie .save = "True, False, True" geschweige denn das ganze ohne "=" und ohne Klammern oder Anführungszeichen.
Mails werden gesendet, die Abfrage wird unterdrückt aber nach wie vor nicht unter "gesendet" gespeichert.
Vermutlich mach ich irgendwas falsch, ich komm nur nicht drauf was. ::) :-:
-
Ein ".Save" geht natürlich gar nicht, da das With sich auf das NotesUIDocument bezieht. Gespeichert werden muss aber (wegen der Dialogbox) das Backend Document, also das zuvor deklarierte "doc".
-
;D ;D ;D
Hurraaa, jetzt funktioniert´s. Besten Dank.
Ich programmier nicht hauptberuflich, nur hier und da mal n kleines Makro, daher hat´s n bissl länger gedauert.
Habe jetzt ein
Call doc.Save(True, False, True)
vor das .Send eingefügt und schon geht´s.
Besten Dank für Eure Unterstützung. :)
-
???