我写了一些代码,它可以在我的电脑上运行,但不适用于其他人的代码。我真的很困惑。有问题的代码是
Dim temp As HtmlHtmlElement
Dim s As String
s = "2222222"
For Each temp In html.getElementsByTagName("option")
If temp.getAttribute("value") = s Then
r.Offset(0, 1) = (temp.innerText)
End If
Next temp
r
是传递给sub的Range对象。
变量html是一个使用xmlHTTP
这段代码在我的电脑上工作正常,它在html源代码中找到“option”标签,然后检查“value”属性是否等于字符串s。当我在某个elses pc上运行它时,temp.getAttribute(“value”)返回一个空字符串,即使有一个名为value的属性。网页地址是硬编码的,因此不是他使用了错误的网址 我使用excel 2007,他使用2010
有人有任何想法吗? 谢谢
答案 0 :(得分:0)
你如何声明和实例化html对象?
例如,您说您使用的是xmlHTTP,但这是唯一的选择吗?您的代码是否首先尝试将html设置为“Microsoft.XMLHTTP”,如果没有找到,则尝试“MSXML2.XMLHTTP”甚至不同的版本号ServerXMLHTTP30 / ServerXMLHTTP60?
如果是这样,可能问题是尚未启用特定引用并且您通过不同对象获取网页。根据网络服务器设置和对象,每个网页都可以根据不同的编码,UPPER / LOWERCASE等稍微不同地返回网页。
编辑:您可能会发现这个有用的Using the right version of MSXML