Установить последовательность тела Outlook - PullRequest
0 голосов
/ 25 мая 2020
    Dim objOutlook As Object
    Dim objMail As Object
    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0)

   With objMail
   .To = "a22550@stuart.iit.edu"
   .Subject = "Report of Fixed Income" & Format(Now() - 1, "mmmm dd,yyyy")
   .Body = "Dear Sir" & vbNewLine & Format(Now() - 1, "mmmm dd,yyyy") & 
   "Please regard the following tables:" & vbNewLine &
    "Thank you!"
   .Attachments.Add "C:\Users\008425\Desktop\Fixed Income--2020.05.13.xlsm

 'word Editor
   Dim wdDoc As Object     '## Word.Document
    Dim wdRange As Object   '## Word.Range
   Set wdDoc = objMail.GetInspector.WordEditor
  wdDoc.Application.Selection.Start = Len(.Body)

Я попытался скопировать свой диапазон Excel в почту Outlook с описанием моего приветствия в начале, а затем перейти к моему диапазону копирования в Excel в виде изображения ... После того, как я запустил этот синтаксис, мое приветствие пропустило до конца тело письма точно так же, как подпись ..

Кто-нибудь знает, как установить приветствия последовательностей → вставить диаграммы → подписи от начала до конца в теле сообщения Outlook с помощью VBA? [wdDo c .Application.Selection.Start = Len (.Body)] неверно

1 Ответ

0 голосов
/ 31 августа 2020
Private Sub test()

    Dim objOutlook As Object
    Dim objMail As Object
    
    Set objOutlook = CreateObject("Outlook.Application")
    Set objMail = objOutlook.CreateItem(0)
    
    Dim defSignature As String

    With objMail
        
        .Display    ' Bring the signature to the body
        defSignature = objMail.Body ' Save the signature
        
        ' Replace the body
        .Body = "Dear Sir" & vbNewLine & Format(Now() - 1, "mmmm dd,yyyy") & _
          "Please regard the following tables:" & vbNewLine & vbNewLine
        
        '.Attachments.Add "C:\Users\008425\Desktop\Fixed Income--2020.05.13.xlsm"
        
        'word Editor
        Dim wdDoc As Object     '## Word.Document
        Dim wdRange As Object   '## Word.Range
        Set wdDoc = objMail.GetInspector.WordEditor
        
        ' Move the cursor to the end of the body
        wdDoc.Application.Selection.EndKey Unit:=wdStory, Extend:=wdMove
        
        ' Insert after the cursor
        wdDoc.Application.Selection.InsertAfter "This should be inserted after current body."
        
        objMail.Body = objMail.Body & vbNewLine & "Thank you!" & defSignature
            
    End With
    
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...