【问题标题】:Attach created Word doc to Outlook Message将创建的 Word 文档附加到 Outlook 邮件
【发布时间】:2016-10-26 14:24:15
【问题描述】:

我已经阅读了许多与我正在寻找的内容相近的回复,但每次它在我的代码中都不起作用。

这应该是一个非常基本的问题,但我希望有人能看到这个并很快看到我的错误。

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

一切正常,但现在我要做的就是将字符串“IRN”的名称添加到 Word 文档中,该字符串是 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

【问题讨论】:

  • 尝试 filename = path & "TD" & Sheets("Sheet1").Range("A1").Text - 假设 IRN 在单元格 A1 中
  • 查看如何使用单元格值保存它stackoverflow.com/a/30393989/4539709
  • 谢谢 Om3r,我没有将它包含在我的文本中,但变量 IRN 已设置为工作表中的特定单元格,但由于某种原因它不会包含在文件名中,但链接像您指示的那样直接连接到单元格效果很好。您知道如何将 doc 作为附件添加到我打开的 Outlook 电子邮件中吗?
  • 我用 Doc.filename 和 filename 试过了,都不管用。我收到一条错误消息,指出“找不到此文件。请验证路径和文件名是否正确”
  • 好的听起来不错。不,不幸的是,文件名或目录名无效

标签: excel vba outlook ms-word


【解决方案1】:

一切正常,但现在我要做的就是将字符串“IRN”的名称添加到 Word 文档中,该字符串是 Excel 工作表中的一个单元格。

要获得单元格值试试这个

FileName = Path &amp; "\TD" &amp; Sheets("Sheet1").Range("A1").Text &amp; ".docx"

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

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

objOutlookMsg.Attachments.Add Doc.filename 至此 ObjOutlookMsg.Attachments.Add (FileName)

【讨论】:

  • 抱歉耽搁了。我能够让这两个方面都发挥作用。感谢您对 Om3r 的所有帮助!
猜你喜欢
  • 1970-01-01
  • 2015-01-29
  • 1970-01-01
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 2012-01-02
  • 2020-11-21
  • 2020-09-06
相关资源
最近更新 更多