2017-06-16 4 views
1

J'essaie d'intégrer le format PDF dans le corps de mon courrier électronique.Comment intégrer un document PDF dans un message électronique

J'ai essayé le code suivant mais il continue à ouvrir le mot mais attache le fichier pdf mais n'incorpore pas pdf comme objet dans le corps de l'email. Toute aide à ce sujet sera appréciée.

Public Sub CreateNewMessage() 
Dim objMsg As MailItem 

Set objMsg = Application.CreateItem(olMailItem) 

With objMsg 
    .To = "[email protected]" 
    .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 

Répondre

1

devrait être quelque chose comme ça.

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 = "[email protected]" 
     .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 

enter image description here


InlineShapes.AddOLEObject Method (Word)

Crée un objet OLE. Renvoie l'objet InlineShape qui représente le nouvel objet OLE.


InlineShape Object (Word)

représente un objet dans la couche de texte d'un document. Une forme en ligne peut uniquement être une image, un objet OLE ou un contrôle ActiveX. L'objet InlineShape est membre de la collection InlineShapes. La collection InlineShapes contient toutes les formes qui apparaissent dans un document, une plage ou une sélection. Les objets InlineShape sont traités comme des caractères et positionnés en tant que caractères dans une ligne de texte.


Référence à Microsoft Word xx.x Object Library