将创建的Word文档附加到Outlook邮件

时间:2016-10-26 14:24:15

标签: vba excel-vba outlook word-vba outlook-vba

我已阅读了大量与我正在寻找的内容相近的回复,但每次都在我的代码中无效。

这应该是一个非常基本的问题,但我希望有人可以看看这个并快速查看我的错误。

我正在使用Excel创建Word文档,然后将其保存在用户桌面上以当前日期命名的文件夹中。

一切都运行良好,但现在我要做的就是在Word文档中添加字符串“IRN”的名称,这是Excel工作表中的一个单元格。

我还需要将创建的Word文档附加到Outlook邮件中。

我只会包含代码的介绍和结尾,因为正文无关紧要。

Sub TDOutlook()

Dim TD As Word.Application
Dim Doc As Word.Document
Dim path As String
Dim filename As String
Dim StudentName As String
Dim StudentAddress1 As String
Dim City As String
Dim MrMrs As String
Dim StudentLast As String
Dim IRN As String
Dim CourseReq As String
Dim CourseName As String
Dim CourseStart As String
Dim Cost As String
Dim Deferred As String
Dim Graphic As String
Dim Footer1 As Word.Range
Dim Body As Word.Paragraph
Dim OutApp As Outlook.Application
Dim objOutlookMsg As Outlook.MailItem

path = Environ("USERPROFILE") & "\Desktop\" & Format(Now, "mm-dd-yyyy")
    On Error Resume Next
    MkDir path
    On Error GoTo 0

'Outlook
Set OutApp = CreateObject("Outlook.Application")
Set objOutlookMsg = OutApp.CreateItem(olMailItem)

objOutlookMsg.SentOnBehalfOfName = "bbb@ppp.edu"
objOutlookMsg.Subject = "FinServ-TD"
objOutlookMsg.HTMLBody = "Testing this macro" & vbCrLf & vbCrLf


'Display Outlook
objOutlookMsg.Display

'Opens Word
Set TD = CreateObject("Word.Application")

'Displays the document
TD.Visible = False

'Add New Document
Set Doc = TD.Documents.Add

filename = path & "\TD" '& IRN
Doc.SaveAs filename

'Attach Word to Outlook
objOutlookMsg.Attachments.Add Doc.filename    <----This is broken

Doc.Close

TD.Quit

'Application.ScreenUpdating = True

End Sub

1 个答案:

答案 0 :(得分:1)

  

一切都运行良好,但现在我要做的就是在Word文档中添加字符串“IRN”的名称,这是Excel工作表中的一个单元格。

获取Cell Value试试这个

<强> objOutlookMsg.Attachments.Add Doc.filename

  

我还需要将创建的Word文档附加到Outlook邮件中。

要附加保存的文件,请更改此

ObjOutlookMsg.Attachments.Add (FileName) 对此 的 QPixmap::isNull()