VBA通过附件Lotus Notes 6.5发送电子邮件

我有很大的问题。 我有macros从Excel通过Lotus Notes 6.5发送多个电子邮件

我的macros代码是:

Public Function SendNotesMail() 'This public sub will send a mail and attachment if neccessary to the recipient including the body text. 'Requires that notes client is installed on the system. 'Set up the objects required for Automation into lotus notes Dim Subject As String Dim Attachment As String Dim Recipient As String Dim BodyText As String Dim SaveIt As Boolean 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) Dim EmailSend As Object Dim EmailApp As Object 'Start a session to notes Set Session = CreateObject("Notes.NotesSession") 'Get the sessions username and then calculate the mail file name. 'You may or may not need this as for MailDBname with some systems you can pass an empty string UserName = Session.UserName MailDbName = Left$(UserName, 1) & Right$(UserName, (Len(UserName) - InStr(1, UserName, " "))) & ".nsf" 'Open the mail database in notes Set Maildb = Session.GETDATABASE("", MailDbName) If Maildb.IsOpen = True Then 'Already open for mail Else Maildb.OPENMAIL End If 'Set up the new mail document Set MailDoc = Maildb.CREATEDOCUMENT MailDoc.Form = "Memo" MailDoc.sendto = "admin@tlen.pl" MailDoc.Subject = "TDBank Validation File" MailDoc.Body = "Here is your TDBank Validation File for today." MailDoc.SAVEMESSAGEONSEND = SaveIt 'Set up the embedded object and attachment and attach it If Attachment <> "" Then Set AttachME = MailDoc.CREATERICHTEXTITEM.Add("H:\Document\1.pdf") Set EmbedObj = AttachME.EMBEDOBJECT(1454, "", Attachment, "H:\Document\1.pdf") MailDoc.CREATERICHTEXTITEM ("H:\Document\1.pdf") End If 'Send the document MailDoc.Send 0, Recipient 'Clean Up Set Maildb = Nothing Set MailDoc = Nothing Set AttachME = Nothing Set Session = Nothing Set EmbedObj = Nothing End Function 

问题是附件没有分配给电子邮件,当我收到它。 我没有得到任何错误, 只有电子邮件没有附件。

文件1.pdf与我的xls使用VBA在同一个文件夹中。

你可以帮我吗。

0.在你的代码中你不清楚你的Attachmentvariables是由值填充的。 确保这个值不是空的。
1.根据文档,您只能为EmbedObject方法指定type%source$参数:

 Set notesEmbeddedObject = notesRichTextItem.EmbedObject(1454, "", "H:\Document\1.pdf") 

2.您可以使用Body字段来embedded对象:

 'Your code Set MailDoc = Maildb.CREATEDOCUMENT MailDoc.Form = "Memo" MailDoc.sendto = "admin@example.com" MailDoc.Subject = "TDBank Validation File" MailDoc.SAVEMESSAGEONSEND = SaveIt Dim richTextItem As Object Set richTextItem = MailDoc.CreateRichTextItem("Body") richTextItem.AppendText("Here is your TDBank Validation File for today.") If Attachment <> "" Then richTextItem.EmbedObject(1454, "", "H:\Document\1.pdf") End If 'Your code