在MS EXCEL VBA中进行网页查询
我试图在MS EXCEL VBA中自动化几个网页查询,我正在build立的一个应用程序,基本上就是一个MACRO,用来从我们的公司网站收集信息。 我假设他们使用服务器端脚本,因为这些文档都是在一个没有参数的URL下呈现的。 因此,EXCEL网页查询方法是不可能的。 我能够以编程方式打开所需的站点,但是在达到所需输出所需的导航层上有层。 但是,在打开的页面上,有一个.onclick函数,它包含用于调用指定文档的参数string。 代码和网页信息是敏感的,所以我不能发布任何真正的代码,但.onclick在源代码中看起来很像这样:
IEdoc.TD.item(i).onclick="fnFtch('MBSOVY07OZ-LIMO/TVDBLDAT#WNISAZÿNÿALLÿTÿIÿÿ ÿ24ÿ ÿÿ ÿ ÿÿ ÿÿ ÿMÿÿNÿNO');"
如果我给它分配一个像这样的variables:
strgvar = IEdoc.TD.item(i).onclick or set objvar = IEdoc.TD.item(i).onclick
结果更像是:
function(){'fnFtch('MBSOVY07OZ-LIMO/TVDBLDAT#WNISAZÿNÿALLÿTÿIÿÿ ÿ24ÿ ÿÿ ÿ ÿÿ ÿÿ ÿMÿÿNÿNO');'}
我想把“#”后面的string部分改成参数,我最终会用下面几页的程序导航来结束这个参数。 我用我想要的stringreplace了不需要的部分,.click停止了任何操作。 对我来说显而易见的是,我混合了“string”和“对象”属性,因为如果我这样做:
Set objvar = IEdic.TD.item(i).onclick strgvar = objvar IEdoc.TD.item(i).onclick = strgvar
.click无法正常工作。
如果我留下一切“对象”types,如:
Set objvar = IEdoc.TD.item(i).onclick IEdoc.TD.item(i).onclick = objvar
.click仍然有效此代码没有返回“types不匹配”错误,它只呈现.click惰性
你有没有尝试使用导航和Document.documentElement.innerHTML阅读页面上的文字? 我用FireBug来跟踪一个网站,并且每页看到两页(第一页是“请求”,第二页实际上是给你的内容)。 非常麻烦,但我得到它与导航。
FireEvent
用于触发附加到任何元素的事件。 尝试下面的代码。
Set objvar = IEdic.TD.item(i) objvar.FireEvent("onclick")