我正在尝试在 MS EXCEL VBA 中为我正在构建的应用程序自动执行几个 Web 查询,该应用程序基本上是作为 MACRO 来收集来自我们公司网站的信息。我假设他们使用服务器端脚本,因为文档都显示在一个没有参数的 URL 下。因此,EXCEL 网络查询方法是不可能的。我能够以编程方式打开所需的站点,但是要达到所需的输出需要层层导航。但是,在打开的页面上,有一个 .onclick 函数,其中包含一个用于调用指定文档的参数字符串。代码和网络信息很敏感,所以我无法发布任何真实代码,但 .onclick 在源代码中看起来很像:
IEdoc.TD.item(i).onclick="fnFtch('MBSOVY07OZ-LIMO/TVDBLDAT#WNISAZÿNÿALLÿTÿIÿÿ ÿ24ÿ ÿÿ ÿ ÿÿ ÿÿ ÿMÿÿNÿNO');"
如果我给它分配一个这样的变量:
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');'}
我想将“#”后面的字符串部分更改为参数,我最终会遵循几页程序导航。我用我想要的字符串替换不需要的部分,.click 停止做任何事情。对我来说很明显我正在混合“字符串”和“对象”属性,因为如果我这样做:
Set objvar = IEdic.TD.item(i).onclick
strgvar = objvar
IEdoc.TD.item(i).onclick = strgvar
.click 无法正常工作。
如果我像这样留下所有“对象”类型:
Set objvar = IEdoc.TD.item(i).onclick
IEdoc.TD.item(i).onclick = objvar
.click 仍然有效 此代码均未返回“类型不匹配”错误,它只是呈现 .click 惰性