Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何使用HTMLBody在电子邮件中添加VBA签名?_Excel_Vba_Outlook - Fatal编程技术网

Excel 如何使用HTMLBody在电子邮件中添加VBA签名?

Excel 如何使用HTMLBody在电子邮件中添加VBA签名?,excel,vba,outlook,Excel,Vba,Outlook,我从你那里得到了以下信息。但是,在设置签名变量的地方,我不断得到一个错误“应用程序定义的或对象定义的错误”。如何修复此错误 Dim OApp As Object, OMail As Object, signature As String Set OApp = CreateObject("Outlook.Application") Set OMail = OApp.CreateItem(0) With OMail .Display End With signature = OMail.bo

我从你那里得到了以下信息。但是,在设置签名变量的地方,我不断得到一个错误“应用程序定义的或对象定义的错误”。如何修复此错误

Dim OApp As Object, OMail As Object, signature As String
Set OApp = CreateObject("Outlook.Application")
Set OMail = OApp.CreateItem(0)
With OMail
    .Display
End With
signature = OMail.body
With OMail
    '.To = "someone@somedomain.com"
    '.Subject = "Type your email subject here"
    '.Attachments.Add
    .body = "Add body text here" & vbNewLine & signature
    '.Send
End With
Set OMail = Nothing
Set OApp = Nothing

我知道我可以从C:\Users…\Signatures\文件夹获得签名。然而,在工作中,我们都使用虚拟桌面,并且那里的权限有点僵硬。

您的签名必须声明为变体

Dim OApp As Object
Dim OMail As Object
Dim Signature As Variant

Set OApp = CreateObject("Outlook.Application")
Set OMail = OutApp.CreateItem(0)

On Error Resume Next
With OMail
    'Capture signature block.
    .Display
    Signature = .HTMLBody
    '.To = Recipients
    '.CC = CarbonCopy
    .Subject = "Subject"
    .HTMLBody = "<p>Add Body Here.</p>" & Signature
    .Display
End With
On Error GoTo 0

Set OutMail = Nothing
Set OutApp = Nothing
Dim OApp作为对象
将OMail作为对象
Dim签名作为变体
设置OApp=CreateObject(“Outlook.Application”)
设置OMail=OutApp.CreateItem(0)
出错时继续下一步
与奥马尔
'捕获签名块。
.展示
签名=.HTMLBody
'.To=收件人
'.CC=复写
.Subject=“Subject”
.HTMLBody=“在此处添加正文。

”&签名 .展示 以 错误转到0 发送邮件=无 设置应用程序=无
您使用的是
.Body
还是
.HTMLBody
?您的签名有多复杂?例如,是否有嵌入的图片?签名只是简单的文本,没有图片或任何疯狂的东西。我可以选择其中一种,但我更喜欢使用
.HTMLBody
。但是我复制并粘贴了上面的代码,仍然得到了错误。我只是想找到一个起点,甚至无法到达那里。如果你用F8单步执行,你可以在显示电子邮件后看到签名?我甚至无法单步执行,它会在我尝试之前抛出错误。如果我只是避免使用signature变量,它就是存在的。因此,我不会得到一个错误,但我只得到一个签名。就像覆盖了正文一样。尝试添加HTML标记。以上代码已编辑。