使用显式选项(excel-vba)时如何打开Microsoft HTML对象库参考?

布莱恩·戴维斯(Bryan Davies)

我有一个模块,可以查找网站并执行很多操作。在清理代码时,我添加了Option Explicit标记,并且该标记停止编译。

在下一行遇到了麻烦

dim objHTML As htmldocument

我找到了问题所在,这是因为我在另一台计算机上,并且未打开Microsoft HTML对象库引用。

所以问题是,如何以仍然可以显式编译use选项的方式打开使用vba的Microsoft HTML对象库引用?

用户4039065

这称为“早期绑定”,您必须包含非默认的Microsoft HTML对象库引用。为此,请进入VBE并转到“工具”►“引用”,然后找到Microsoft HTML对象库,并在其旁边打一个勾号。

该参考信息与VBA项目一起提供,并且在另一台计算机上使用工作表不会删除该参考信息。您可能从另一个VBA项目(或便捷的站点,如SO)中获得了一些代码,并将其粘贴到了新项目中。

但是,您可以使用“后期绑定”来使用相同的东西。这是通过VBA的CreateObject函数完成的,以创建具有自己文档的IE对象。您只需要知道要创建什么对象即可。

Dim objIE As Object, objHTML As Object

Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate2 "https://stackoverflow.com/questions/38164172/option-explicit-with-htmldocument"

Do While objIE.busy Or objIE.readystate <> 4: DoEvents: Loop

Set objHTML = objIE.document
Debug.Print Left(objHTML.body.innertext, 1024)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章