问题描述
||
我已经编写了一些代码,可以在我的PC上使用,但是不能在其他人的计算机上使用。我真的很困惑。问题代码是
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
是传递给子对象的Range对象。
变量html是使用xmlHTTP从网页加载html的对象
此代码在我的PC上运行良好,它在html源中找到\“ option \”标记,然后检查\“ value \”属性是否等于字符串s。当我在其他人的pc上运行它时,即使有一个名为value的属性,temp.getAttribute(\“ value \”)也会返回一个空字符串。网页地址是硬编码的,因此不是他使用了错误的URL
我使用Excel 2007,他使用2010
任何人有任何想法吗?
谢谢
解决方法
您如何声明和实例化html对象?
例如,您说您正在使用xmlHTTP,但这是唯一的选择吗?您的代码是否首先尝试将html设置为\“ Microsoft.XMLHTTP \”,如果找不到,则尝试使用\“ MSXML2.XMLHTTP \”甚至是其他版本号ServerXMLHTTP30 / ServerXMLHTTP60?
如果是这样,则可能是问题在于尚未启用特定的引用,并且您通过不同的对象来获取网页。这些都可以根据Web服务器设置和对象使用不同的编码,大写/小写等返回一个略有不同的网页。
编辑:您可能会发现这很有用使用正确版本的MSXML