Problem mit Dateianhang in Lotus Notes
01.09.2015 12:32:37
Christian
Ich habe ein Problem mit dem Erstellen von Anhängen in Lotus Notes per Excel-Makro.
Ich muss von der Arbeit her viele immer gleich formatierte Mails an eine Anlage verschicken, die die Dateien darin dann verarbeitet. Also habe ich mir gedacht: "Gut, machst du halt nen Makro draus." Gesagt, getan.
Ich nutze also folgenden Code:
Sub NotesSendenObjekte()
Dim Name As String
Dim Maildb As Object 'The mail database
Dim UserName As String 'The current users notes name
Dim MailDbName As String 'THe current users notes mail database name
Dim MailDoc As Object 'The mail document itself
Dim AttachME As Object 'The attachment richtextfile object
Dim Session As Object 'The notes session
Dim EmbedObj As Object 'The embedded object (Attachment)
If Right(ActiveWorkbook.Name, 4) = "xlsx" Or Right(ActiveWorkbook.Name, 4) = "xlsm" Then
Name = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 5)
ElseIf Right(ActiveWorkbook.Name, 4) = ".xls" Or Right(ActiveWorkbook.Name, 4) = ".csv" Then
Name = Left(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - 4)
End If
Set Session = CreateObject("Notes.NotesSession")
UserName = Session.UserName
MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & _
".nsf"
Set Maildb = Session.GETDATABASE("", MailDbName)
If Maildb.IsOpen = False Then
Maildb.OPENMAIL
End If
Set MailDoc = Maildb.CREATEDOCUMENT
MailDoc.Form = "Memo"
MailDoc.sendto = "xyz@zyx.de" 'meine Mail-Adresse auf Arbeit
MailDoc.Subject = Name
MailDoc.Body = ""
MailDoc.SAVEMESSAGEONSEND = True
'Set up the embedded object and attachment and attach it
Set AttachME = MailDoc.CREATERICHTEXTITEM(ActiveWorkbook.Path & "\" & ActiveWorkbook.Name)
Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", ActiveWorkbook.Path & "\" & ActiveWorkbook.Name)
MailDoc.CREATERICHTEXTITEM (ActiveWorkbook.Name)
'Send the document
MailDoc.PostedDate = Now() 'Gets the mail to appear in the sent items folder
MailDoc.SEND 0, "xyz@zyx.de" 'meine Mail-Adresse auf Arbeit
'Clean Up
Set Maildb = Nothing
Set MailDoc = Nothing
Set AttachME = Nothing
Set Session = Nothing
Set EmbedObj = Nothing
End Sub
Das Ergebnis ist eigentlich genau was ich will, nämlich eine Mail ohne Text mit dem gerade offenen Workbook als Dateianhang.Das sieht dann so aus:
Der Anhang befindet sich also außerhalb des Textkörpers, wie es eben normalerweise so ist.
Offensichtlich kann die Maschine, die die Datei dann verarbeitet, Dateien außerhalb des Textkörpers nicht erkennen.
Eine Mail, die ich per Hand erstellt habe, die die Maschine nachgewiesenerweise verarbeiten kann, habe ich ebenfalls als Screenshot angehängt:
Nun also meine Frage:
Kann man den Code so verändern, dass sich der Anhang am Ende innerhalb des Textkörpers befindet?
Vielen Dank im voraus!
Liebe Grüße,
Christian Leimbach