我有一个模块,可以查找网站并执行很多操作。在清理代码时,我添加了Option Explicit标记,并且该标记停止编译。
在下一行遇到了麻烦
dim objHTML As htmldocument
我找到了问题所在,这是因为我在另一台计算机上,并且未打开Microsoft HTML对象库引用。
所以问题是,如何以仍然可以显式编译use选项的方式打开使用vba的Microsoft HTML对象库引用?
这称为“早期绑定”,您必须包含非默认的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] 删除。
我来说两句