2011-06-24 47 views
1

我寫了一些代碼,可以在我的電腦上運行,但不適用於其他人。我真的有問題confused.the代碼代碼片段可以在我的電腦上運行,但不是其他人的

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是已經加載HTML代碼網頁中的對象,使用XMLHTTP

此代碼的工作在我的電腦罰款,發現在HTML源代碼的「選項」標籤,然後檢查,看是否「value」屬性等於字符串s。當我在別人的pc上運行它時,temp.getAttribute(「value」)返回一個空白字符串,即使有一個名爲value的屬性。網頁地址是硬編碼,所以它不是他使用了錯誤的URL 我使用excel 2007,他使用2010

任何人有任何想法? 謝謝

回答

0

你是如何聲明和實例化html對象的?

例如,你說你正在使用xmlHTTP,但這是唯一的選擇嗎?您的代碼是否嘗試並將html設置爲「Microsoft.XMLHTTP」,如果未找到,請嘗試「MSXML2.XMLHTTP」或甚至不同的版本號ServerXMLHTTP30/ServerXMLHTTP60?

如果是這樣,也許問題是具體引用尚未啓用,並且您通過不同的對象獲取網頁。其中的每一個都可以根據Web服務器設置和對象以不同的編碼,UPPER/LOWERCASE等稍微不同的方式返回網頁。

編輯:您可能會發現這很有Using the right version of MSXML

+0

我的代碼使用serverxmlHTTP6.0。我已經將html對象聲明爲對象,然後使用Set html = CreateObject(「htmlfile」) – neeeel

+0

對它進行實例化。您正在使用後期綁定,所以'Set html = CreateObject(「htmlfile」)'不一定使用serverxmlHTTP6.0如果圖書館不可用。嘗試使用早期綁定來強制使用特定的庫,例如'Dim XMLHttpReq As MSXML2.ServerXMLHTTP60' – osknows

相關問題