Das Notes Forum
Domino 9 und frühere Versionen => ND6: Administration & Userprobleme => Thema gestartet von: abulix am 25.04.05 - 16:55:56
-
Hallo
Da wir demnächst von Outlook 2002 auf Lotus Notes 6.5 umgestellt werden, haben wir ein ungelöstes Problem mit unserem automatisierten Mailversand.
Wir haben ein Word 2002-Dokument das wir durch Klicken auf einen Button mittels Visual Basic über Outlook verschicken. Dabei wird folgender Code verwendet:
Sub senden_mail()'
Dim objOL As Outlook.Application
Dim objMail As MailItem
Set objOL = New Outlook.Application
Set objMail = objOL.CreateItem(olMailItem)
With objMail
.To = "name@adresse1.ch"
.To = "name@adresse2.ch"
.To = "name@adresse3.ch"
.CC = "name@adresse4.ch"
.Subject = "Produktefreigabe"
.HTMLBody = "<font face =Arial,size=2>Text1,<br> Text2<br>Text3.<br><br> Mit freundlichen Grüssen<br><br> abulix </font>"
.Attachments.Add ActiveDocument.FullName
.Send
End With
Set objMail = Nothing
Set objOL = Nothing
End Sub
Kann mir bitte jemand aufzeigen, wie ich diesen Code nun abändern muss, damit wir die Dokumente per Lotus Notes 6.5 verschicken können ?
Besten Dank und freundliche Grüsse
-
Hallo und herzlich willkommen im Forum,
es gibt in VB die Möglichkeit, auf die Notes-Objekte zuzugreifen. Hier im Forum gabs da schon einige Threads zu, über die Suche wirst Du da bestimmt fündig.
-
Guggsu hier:
http://www.atnotes.de/index.php?topic=1800.0
-
Hi,
... und guckst du hier: http://www.atnotes.de/index.php?topic=5452.0
Axel
-
Hallo zusammen
Vielen Dank für Eure Hilfe und die Hinweise. Folgendes Script funktioniert nun in den Grundfunktionen bestens:
Sub NotesMail()
Dim strEmpfaenger, strBetreff, strText, strcc, strbcc As String
Dim strFile As String
strEmpfaenger = "name@adresse.ch"
strBetreff = "Versandinfo"
strText = "Begleittext"
'strFile = "D:\Test\test.doc" 'ActiveDocument.FullName
NotesMailSend strEmpfaenger, strBetreff, strText, strcc, _
strbcc, strFile
End Sub
Function NotesMailSend(strEmpfaenger As Variant, strBetreff As Variant, _
strText As Variant, strcc As Variant, strbcc As Variant, strFilename As String)
' Dimensionierung der Objektvariablen
Dim objNotes As Object, objNotesDB As Object, objNotesMailDoc As Object
Dim SendItem, NCopyItem, BlindCopyToItem, i As Integer, rtitem
Dim msg As String
'
' Zuweisung der Objektvariablen
'On Error GoTo ExitF
Set objNotes = GetObject("", "Notes.Notessession")
Set objNotesDB = objNotes.GETDATABASE("", "")
' Öffnen der Standard-Maildatenbank / Erstellen neues Maildokument
Call objNotesDB.OPENMAIL
Set objNotesMailDoc = objNotesDB.CreateDocument
objNotesMailDoc.form = "Memo"
Call objNotesMailDoc.Save(True, False)
Set SendItem = objNotesMailDoc.APPENDITEMVALUE("SendTo", "")
Set NCopyItem = objNotesMailDoc.APPENDITEMVALUE("CopyTo", "")
Set BlindCopyToItem = objNotesMailDoc.APPENDITEMVALUE("BlindCopyTo", "")
objNotesMailDoc.SendTo = strEmpfaenger
objNotesMailDoc.Subject = strBetreff
Set rtitem = objNotesMailDoc.CREATERICHTEXTITEM("Body")
objNotesMailDoc.body = strText
rtitem.ADDNEWLINE (1)
'Call rtitem.EMBEDOBJECT(1454, "", strFilename)
' Mail zustellen
Call objNotesMailDoc.Save(True, False)
Call objNotesMailDoc.Send(False)
objNotesMailDoc.RemoveItem ("DeliveredDate")
Call objNotesMailDoc.Save(True, False)
' Nachricht an Benutzer
msg = "Die E-Mail wurde erfolgreich versendet!"
MsgBox msg, vbInformation, "Notesmail versenden..."
' Objektvariablen zurücksetzen
Call objNotes.Close
' Call objNotes.Quit
Set objNotes = Nothing
ExitF:
End Function
Jetzt noch folgende Probleme:
beim Versand via Outlook konnte ich HTML-formatierten Text versenden --> With objMail.HTMLBody = "<font face =Arial, size=2>Sehr geehrte Damen und Herren,<br>beiliegend senden wir Ihnen unsere Produktefreigabe etc., etc.</font>"
Gibt es etwas Vergleichbares mit Lotus Notes ?
Mit dem Attachement klappt es noch nicht. Das Script verlangt einen festen Dokumentenpfad und -namen. Da ich aber das Mail mittels Button aus einem bereits geöffneten Word-Dokument mit ständig änderndem Namen heraus versenden möchte, klappt das leider nicht.
Herzlichen Dank für Eure Hilfe ! Grüsse Abulix
-
Hi,
du kannst doch den Namen des Word-Dokumentes mit ActiveDocument.FullName ermitteln. Somit hast du Name und Pfad des Dokumentes und damit sollte das Anhängen funktionieren.
Axel
-
Wenn ich die Zeile
strFile = "D:\Test\test.doc" ersetze mit
strFile = ActiveDocument.FullName
erscheint die Fehlermeldung
Laufzeitfehler 7000: Notes Error: ein oder mehrere Anhänge des Quelldokuments fehlen. Starten Sie Fixup, um das Dokument in der Quelldatenbank zu löschen.
Beim Debuggen bleibt der Zeiger auf der Zeile: -->Call objNotesMailDoc.Send(False)
stehen.
Ich weiss nichts damit anzufangen.
-
Ist denn das aktive Dokument gespeichert oder nicht?
-
Hi,
... und was liefert denn ActiveDocument.FullName. Lass dir das mal in einer Messagebox anzeigen oder schau mit dem Debugger.
Axel
-
@Semeaphoros: das Dokument ist gespeichert
@Axel: LW:\Ordner\Unterordner1\Unterordner2\Dokuname.doc
Habe noch was entdeckt: obwohl untenstehende Fehlermeldung erscheint, wird das Mail inkl. Attachement in Lotus generiert (befindet sich dann im Ordner "Entwürfe") aber wird nicht gesendet. Wenn ich den Entwurf öffne und manuell sende, klappt das ohne Probleme.
Vielen Dank für Eure Hilfe !