出于安全考虑,我无法发布我正在导航的Intranet站点的HTML代码。 我不理解的部分代码是:
Dim IE As New InternetExplorerMedium
Dim Doc As IHTMLDocument
Dim FrmDoc As Object
Dim iFrm as HTMLIFrame
Set Doc = IE.Document
[navigating to the intranet site]
Set iFrm = Doc.getElementById("ivuFrm_page0ivu2")
Set FrmDoc = iFrm.contentWindow.Document
Do While FrmDoc.ReadyState <> "complete": DoEvents: Loop
Set iFrm = FrmDoc.getElementById("isolatedWorkArea")
Do While iFrm.ReadyState <> "complete": DoEvents: Loop
[downloading the report]
如果我删除其中任何一个循环,则在使用任一变量时都会出现“Object-或With-blockvariable not set”错误。所以当我不等时,那些就不存在了。
如果我像这样设置iFrm变量:
iFrm = Doc.getElementById("ivuFrm_page0ivu2").contentWindow.Document.getElementById("isolatedWorkArea")
使用变量时出现“访问受限”错误。
为什么?