我正在尝试使用VBA for Excel自动化一些电子邮件。到目前为止,一切都很好,除了试图在电子邮件中保留我的签名外。将签名插入到Excel VBA的Outlook电子邮件中
一旦您告诉VBA创建新电子邮件,它将已经包含您的默认签名。如果您尝试Outmail.Display
,可以看到这一点。但是,如果您覆盖.HTMLBody
属性,它将被删除。
我的简单尝试是将.HTMLBody
的内容保存为signature
(字符串),然后将其重新分配至.HTMLBody
以进行测试。然而,由此产生的电子邮件将无效签名。
代码复制并重新插入签名:
Dim myOlApp As Outlook.Application
Dim MyItem As Outlook.MailItem
Dim signature As String
Set myOlApp = CreateObject("Outlook.Application")
Set Outmail = myOlApp.CreateItem(0)
signature = Outmail.HTMLBody
Outmail.HTMLBody = signature
Outmail.Display
代码以证明签名是自动插入:
Dim myOlApp As Outlook.Application
Dim MyItem As Outlook.MailItem
Set myOlApp = CreateObject("Outlook.Application")
Set Outmail = myOlApp.CreateItem(0)
Outmail.Display
编辑:我试着用.Body
更换.HTMLBody
。这样的作品,但很明显,取出签名
编辑2的HTML格式:代码工作我朋友的电脑上,但不能在我的
似乎是Outlook/Excel连接中的一个错误我猜。即使有上述的修复,我有时会得到错误。决赛的解决方案只是有Outmail.Display几次(即每次签名更改/插入之前和之后等)。 – msmf14