当我尝试在新计算机上运行宏时,我得到了error 438 : object doesn't support this property or method
:
Set HTMLdoc = New MSHTML.HTMLDocument
With HTMLdoc
.body.innerHTML = OutlookMail.HTMLBody **'******** Error Line**
Set tables = .getElementsByTagName("table")
End With
答案 0 :(得分:0)
是的,它在我的系统中运行正常。但是,当我尝试在新系统中安装它时,会产生此错误。
代码未更改,我在某些outllok邮件上运行相同的excel宏文件。 即使是我用来测试的Outlook邮件,我也在新机器上使用相同的文件。
此外,工具>>参考库,我检查了所有项目,例如MS HTML对象库,MS Outlook 16.0对象库和其他默认复选框在系统中保持不变。
代码到达此行时突然中断: 。身体。 Innerhtml = Outlookmail。 HTMLBody
答案 1 :(得分:0)
.body.innerHTML = OutlookMail.HTMLBody
正文的内部HTML标记不等于Outlook消息正文的HTML标记。它包括其他外部html标记,应在此之前删除。
无论如何,VBA宏不是设计用于在多台计算机上分发它们的。这正是COM加载项引入的目的。在这种情况下,您将能够为您的解决方案创建一个安装程序,以自动为所有用户部署它。此外,您将能够在安装时检查并安装(如果需要)所需的先决条件。请参阅Walkthrough: Create your first VSTO Add-in for Outlook以快速入门。