将带有图片的默认签名插入电子邮件中

问题描述 投票:0回答:1

我正在尝试编写将默认Outlook签名插入Excel中已生成的电子邮件中的VBA代码。有些人可能会使用Excel模板,因此我需要VBA代码来获取创建电子邮件的用户的默认签名。

我在网上找到了很多有用的东西,但是我无法使它正常工作。我是VBA的新手,所以仍然在学习。

下面的代码适用于我需要的电子邮件-期望签名,因为我删除了所有代码,因为我无法使用它。

任何帮助将不胜感激。

Sub EmailCreator()

ActiveWorkbook.Save

    Dim olApp As Outlook.Application
    Dim olMail As Outlook.MailItem
    Dim blRunning As Boolean

    blRunning = True
    On Error Resume Next
    Set olApp = GetObject(, "Outlook.Application")
    If olApp Is Nothing Then
        Set olApp = New Outlook.Application
        blRunning = False
    End If

    On Error GoTo 0

    strBody = "This is my message in HTML format"

    Set olMail = olApp.CreateItem(olMailItem)

    With olMail
        .Subject = "abc"
        .Attachments.Add ActiveWorkbook.FullName
        .HTMLBody = strBody
        .Display
    End With

    If Not blRunning Then olApp.Quit

    Set olApp = Nothing
    Set olMail = Nothing


End Sub
vba outlook outlook-vba
1个回答
0
投票

首先,当您调用Display if邮件正文时,Outlook将插入默认签名。

[其次,一旦调用Display(并且消息正文中填充了签名),您将需要合并两个HTML字符串-不仅设置HTMLBody属性(whcih会清除签名),而不是连接两个HTML字符串(不能产生有效的HTML文档),但合并。最简单的方法是查找“ <body”子字符串的位置,滚动到下一个“ >”字符(以照顾带有属性的body标签),然后在该“ >”之后插入HTML “字符。

© www.soinside.com 2019 - 2024. All rights reserved.