vba - MS EXCEL VBA 中的 Web 查询

标签 vba excel

我正在尝试在 MS EXCEL VBA 中为我在工作中构建的应用程序自动执行多个 Web 查询,该应用程序基本上作为宏来从我们的企业网站收集信息。我假设他们使用服务器端脚本,因为所有文档都在一个没有参数的 URL 下呈现。因此EXCEL网页查询方法是不可能的。我能够以编程方式打开所需的站点,但是需要层层导航才能达到所需的输出。然而,在打开的页面上,有一个 .onclick 函数,它保存用于调用指定文档的参数字符串。代码和 Web 信息很敏感,因此我无法发布任何真实代码,但 .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 惰性

最佳答案

您是否尝试过使用navigate和Document.documentElement.innerHTML来读取页面上的文本?我使用 FireBug 跟踪一个网站,并且必须为您看到的每个页面转到两个页面(第一页是“请求”,第二页实际上为您提供了内容)。非常麻烦,但我让它与 Navigate 一起使用。

关于vba - MS EXCEL VBA 中的 Web 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19462434/

相关文章:

excel - 选择所有有数据的单元格

vba - 迭代自定义字典对象

VBA打开Excel文件并将工作表1数据粘贴到当前工作簿中的 "RRimport"工作表中

VBA 从网页中查找文本

ms-access - 如何检查 VBA DAO 记录集中是否为空?

sql - 使用选择查询从连接表中获取值

excel - 来自具有两个值的单个单元格的小时计算器

vba - 如何评估具有条件表达式 vba 的字符串

arrays - 我将如何表达 Last Row + 10?

excel - 如何将基于列 A 重复名称的整行复制到 VBA 中的相应工作表中?