2011-06-24 10 views
1

私の書いたコードは、私のPC上で動作しますが、他の人は動作しません。私は本当に問題のconfused.theコードがコードスニペットは私の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を使用してWebページからhtmlでロードされたオブジェクトです

このコードは、自分のPC上で正常に動作し、htmlソースの "option"タグを見つけ、 "value"属性は文字列sと等しい。誰かがelses pcで実行すると、tempという属性があっても、temp.getAttribute( "value")は空の文字列を返します。ウェブページのアドレスはハードコードされているので、間違ったURLを使用しているとは限りません。 私は2007年にExcelを使い、2010年には

誰でも知りましたか? ありがとう

答えて

0

どのようにhtmlオブジェクトを宣言してインスタンス化しましたか?

たとえば、xmlHTTPを使用しているとしますが、これは唯一のオプションですか?あなたのコードは、最初に "Microsoft.XMLHTTP"に設定し、 "MSXML2.XMLHTTP"または異なるバージョン番号のServerXMLHTTP30/ServerXMLHTTP60を試してみてください。

もしそうなら、特定の参照が有効になっておらず、別のオブジェクトを通してWebページを取得している可能性があります。これらのそれぞれは、Webサーバーの設定とオブジェクトに基づいて、異なるエンコーディング、UPPER/LOWERCASEなどで少し違った形でWebページを返すことができます。

編集:あなたはこの便利なUsing the right version of MSXML

+0

私のコードはserverxmlHTTP6.0を使用するかもしれません。 html = CreateObject( "htmlfile")を使用してインスタンス化しました – neeeel

+0

あなたは 'html = CreateObjectライブラリが利用できない場合。アーリーバインディングを使用して、特定のライブラリを強制的に使用するようにしてください。例えば、 'Dim XMLHttpReq As MSXML2.ServerXMLHTTP60' – osknows

関連する問題