Макрос очистки веб-страниц работает только на моем компьютере. - PullRequest
0 голосов
/ 24 февраля 2019

Я написал макрос, который очищает сайт интрасети моей компании от данных для заполнения листа в Excel, который работает так же, как и на моем компьютере, но когда я делюсь макросом с моими коллегами, он выдает Run-time error '-2147024891 (80070005)': Access is deniedошибка на их компьютерах в строке .send.

Все настройки безопасности на месте, макросы включены, ссылки и версии одинаковы для наших компьютеров, мы все в одной сети, имеем доступ к сайту,и т.д.

Вот часть моего кода, которая очищает сайт:

Do While i < lastRowScrape + 1
    For j = 0 To 5

       Dim XMLPage As New MSXML2.XMLHTTP60
       Dim HTMLDoc As New MSHTML.HTMLDocument

       XMLPage.Open "GET", "[the site's url]", False
       XMLPage.send
       HTMLDoc.body.innerHTML = XMLPage.responseText

       'grab data
       siteData = Trim(HTMLDoc.getElementsByClassName("title_list")(j).innerText)

       'populate cells
       Cells(j + i, 2).Value = siteData(1)
       Cells(j + i, 4).Value = siteData(0)
       Cells(j + i, 6).Value = siteData(2)
       Cells(j + i, 5).Value = siteData(3)

    Next j
    i = i + 6
Loop

1 Ответ

0 голосов
/ 24 февраля 2019

Это может быть обязательной проблемой.В вашем коде вы используете раннее связывание, которое требует ссылки на проект.Попробуйте использовать позднюю привязку в своих объявлениях и посмотрите, поможет ли это.

Dim XMLPage As New Object: Set XMLPage = MSXML2.XMLHTTP60 
Dim HTMLDoc As New Object: Set HTMLDoc = MSHTML.HTMLDocument
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...