【发布时间】:2017-08-22 19:56:51
【问题描述】:
一位用户向我发送了一个不再工作的宏,而开发人员已退休。当我查看变量时,声明如下:
Public WebDoc As HTMLDocument
当我运行宏时,它在下面的行中出错:
For p = 1 To y
vWBCount = Workbooks.Count
With ExpApp
.navigate vPath
Do Until .readyState = READYSTATE_COMPLETE
MyTimer
Loop
Set WebDoc = .document ''''THIS IS THE LINE THROWING THE ERROR
For Each IElem In WebDoc.forms(0).elements
Select Case IElem.Name
Case "InputKeys_BUSINESS_UNIT"
IElem.Value = vBU(p)
Case "InputKeys_bind2"
IElem.Value = vBegDate
Case "InputKeys_bind3"
IElem.Value = vEndDate
Case "InputKeys_VENDOR_ID"
IElem.Value = vVendor(p)
End Select
Next
.navigate vSubmit
Do Until .readyState = READYSTATE_COMPLETE
Call LookForAndCloseIEPopup
MyTimer
Loop
错误信息说:
不支持对象库功能
任何有关如何解决此问题的建议将不胜感激。宏正在 Windows 7 / Office 2010 / Visual Basic 上运行。
谢谢......
【问题讨论】:
-
试试
Tools -> References -> Microsoft HTML Object Library -
@Tehscript ......感谢您的建议。我这样做并错误地越过了这条线。现在我在下面的行中收到“调用的对象已与其客户端断开连接”错误消息:
-
Set ExpApp = CreateObject("InternetExplorer.Application") ExpApp.Visible = True With ExpApp .navigate vLogin Do Until .readyState = READYSTATE_COMPLETE ' 此行 MyTimer Loop 出现错误
-
我看不到您在帖子中声明 ExpApp 和其余代码的位置。您可以尝试添加
Tools -> References -> Microsoft Internet Controls,然后将其声明为Dim ExpApp As InternetExplorer。然后删除Set ExpApp = CreateObject("InternetExplorer.Application")这一行。 -
@tehscript .........该参考已被选中。我还按照您的建议更改了声明。仍然有问题............
标签: excel vba compiler-errors office-2010