Фрагмент кода работает на моем компьютере, но не чужой - PullRequest
1 голос
/ 25 июня 2011

Я написал немного кода, который работает на моем ПК, но не работает на чужом.Я действительно запутался. Код, о котором идет речь,

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

. Этот код отлично работает на моем компьютере, он находит теги "option" в источнике html и затем проверяет,атрибут "value" равен строке s.Когда я запускаю его на другом компьютере, temp.getAttribute ("value") возвращает пустую строку, даже если есть атрибут с именем value.Адрес веб-страницы жестко запрограммирован, поэтому не то, чтобы он использовал неправильный URL, я использую Excel 2007, он использует 2010

У кого-нибудь есть идеи?спасибо

1 Ответ

0 голосов
/ 25 июня 2011

Как вы объявили и создали экземпляр объекта html?

Например, вы говорите, что используете xmlHTTP, но это единственный вариант?Ваш код пытается сначала установить html на «Microsoft.XMLHTTP», а если не найден, то попробовать «MSXML2.XMLHTTP» или даже другие номера версий ServerXMLHTTP30 / ServerXMLHTTP60?

Если это так, возможно, проблема в том, что конкретныйссылка не была включена, и вы выбираете веб-страницу через различные объекты.Каждый из них может возвращать веб-страницу немного по-разному с различной кодировкой, UPPER / LOWERCASE и т. Д. В зависимости от настроек веб-сервера и объекта.

Редактировать: это может оказаться полезным Использование правильной версии MSXML

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...