首页 > 解决方案 > 使用 Excel VBA 在 .Body 之后在 Outlook 电子邮件中添加签名

问题描述

在 Excel VBA 中,我想创建一个宏来通过 Outlook 发送一封信。

我需要一个签名,但我无法创建它,因为我有一个.Body部分,我需要在它之后粘贴一个动态范围的单元格。

With newEmail
    .Display
    .SentOnBehalfOfName = ""
    .To = ""
    .CC = ""
    .Subject = ""
    .BodyFormat = olFormatHTML
    .Body = "Good day" & vbCrLf & "bla bla "

    Set xInspect = newEmail.GetInspector
    Set pageEditor = xInspect.WordEditor

    Sheet1.Range("G128", ActiveSheet.Range("G128").End(xlDown)).Copy
    
    pageEditor.Application.Selection.Start = Len(.Body)
    pageEditor.Application.Selection.End = pageEditor.Application.Selection.Start
    pageEditor.Application.Selection.Paste
    
    .Display
    .Send

在代码粘贴范围后,我应该添加什么以及在哪里添加签名?

PS.Body之前的范围是必要的。

标签: excelvbaoutlook

解决方案


如果您在代码中构造一个签名并将其存储在一个变量中,例如签名,您可以做这样的事情......

With newEmail
    .SentOnBehalfOfName = ""
    .To = ""
    .CC = ""
    .Subject = ""
    .BodyFormat = olFormatHTML
    .Body = "Good day" & vbCrLf & "bla bla "
    
    Sheet1.Range("G128", ActiveSheet.Range("G128").End(xlDown)).Copy
    
    With .GetInspector.WordEditor.Range
        .Collapse 0
        .Paste
        .Collapse 0
        .Text = vbCrLf & Signature
        .Style = "No Spacing"
    End With
    
    .Display
    '.Send
End With

推荐阅读