【问题标题】:How to Embed a PDF Document in an Email Message如何在电子邮件中嵌入 PDF 文档
【发布时间】:2017-11-19 19:20:26
【问题描述】:

我正在尝试将 PDF 嵌入到我的电子邮件正文中。

我尝试了以下代码,但它一直在打开单词,但附加了 pdf 文件,但没有将 pdf 作为对象嵌入到电子邮件正文中。对此的任何帮助将不胜感激。

Public Sub CreateNewMessage()
Dim objMsg As MailItem

Set objMsg = Application.CreateItem(olMailItem)

 With objMsg
  .To = "test@tst.com"
  .Subject = "This is the subject"
  .BodyFormat = olFormatHTML
            .Attachments.Add ("C:\Work\Dashbaord.pdf"), olOLE  'Attach PDF File
  'Embed PDF
         Set wordapp = CreateObject("word.Application")
            wordapp.Documents.Open FileName:="C:\Work\" & "Dashbaord.pdf"
            wordapp.Visible = True



        'Embed PDF
        wordapp.Visible = True
        Set wordapp = GetObject(, "Word.Application")
        wordapp.Selection.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.11", _
        FileName:="C:\Work\Dashbaord & ".pdf", LinkToFile:=False, _
        DisplayAsIcon:=False

  .Display
End With

Set objMsg = Nothing
End Sub

【问题讨论】:

    标签: vba pdf outlook ms-word


    【解决方案1】:

    应该是这样的。

    Public Sub InsetObject()
        Dim Inspector As Outlook.Inspector
        Dim wdDoc As Word.Document
        Dim Selection As Word.Selection
        Dim Email As Outlook.mailitem
    
        Set Email = Application.CreateItem(olMailItem)
    
        With Email
            .To = "0m3r@Email.com"
            .subject = "This is the subject"
            .Attachments.Add ("C:\Temp\TempFile.pdf")
            .Display
    
             Set Inspector = Application.ActiveInspector()
             Set wdDoc = Inspector.WordEditor
             Set Selection = wdDoc.Application.Selection
    
             Selection.InlineShapes.AddOLEObject ClassType:="AcroExch.Document.DC", _
                       FileName:="C:\Temp\TempFile.pdf", _
                       LinkToFile:=False, DisplayAsIcon:=False
    
        End With
    
        Set Inspector = Nothing
        Set wdDoc = Nothing
        Set Selection = Nothing
    End Sub
    


    InlineShapes.AddOLEObject Method (Word)

    创建一个 OLE 对象。返回代表新 OLE 对象的 InlineShape 对象。


    InlineShape Object (Word)

    表示文档文本层中的一个对象。内嵌形状只能是图片、OLE 对象或 ActiveX 控件。 InlineShape 对象是 InlineShapes 集合的成员。 InlineShapes 集合包含在文档、范围或选择中内联显示的所有形状。 InlineShape 对象被视为字符并被定位为一行文本中的字符。


    对 Microsoft Word xx.x 对象库的引用

    【讨论】:

      猜你喜欢
      • 2010-10-02
      • 2023-03-10
      • 1970-01-01
      • 2013-05-02
      • 2018-12-24
      • 2022-11-10
      • 2021-03-11
      • 1970-01-01
      相关资源
      最近更新 更多