Получение ошибки: [Ошибка времени выполнения '-2147467259 (80004005)': ошибка автоматизации Неопределенная ошибка] - PullRequest
0 голосов
/ 08 июля 2019

Код - это почти то, что я получил после небольшого онлайн-исследования.Пожалуйста, не стесняйтесь редактировать и предлагать любые изменения.У меня были следующие два вопроса: 1. Окно Internet Explorer открывается, хотя я не использовал IE.visible = True.Можете ли вы помочь, если что-то не так.2. Во-вторых, код выдает ошибку «Ошибка во время выполнения» -2147467259 (80004005) ':

Ошибка автоматизации

Неуказанная ошибка` Какие изменения я могу сделать, чтобы ее избежать.

Пожалуйста, прокомментируйте, если синтаксис также неправильный.

Я думал об использовании элемента XML, но мне нужны не уникальные данные classname, id, и я не смог использовать `getElementsByTagName () (Number) 'в XML-методе очистки веб-страниц, если это возможно, пожалуйста, предложите что-то в этом направлении, так как я думаю, что тогда код станет чище.

Sub prog()
  Dim ie As InternetExplorer
  Dim webpage As HTMLDocument
  Dim strr() As Variant
  Dim num As Integer
  num = 0
  i = 0
  Sheets.Add.Name = "New Sheet"
  Set ie = New InternetExplorer
  ie.navigate ("https://<link>")
  Do While ie.readyState = 4: DoEvents: Loop
    Set webpage = ie.Document
    table_data = webpage.getElementsByTagName("tbody")(0)
    mtlb1 = table_data.getElementsByTagName("tr")
    mtlb2 = table_data.getElementsByTagName("tr")
    For Each mtlb2 In table_data
      num = num + 1
    Next
    ReDim strr(0 To num, 2)
    For Each mtlb In table_data
      Newt = mtlb.getElementsByTagName("td")(1)
      strr(i, 1) = Newt.getElementsByTagName("a").innerText
      Newt = mtlb.getElementsByTagName("td")(3)
      strr(i, 2) = Newt.getElementsByTagName("a").innerText
      i = i + 1
    Next
    For i = 0 To num - 1
      Sheets("New Sheet").Range("A" + CStr(3 + i)).Value = strr(i, 1)
      Sheets("New Sheet").Range("B" + CStr(3 + i)).Value = strr(i, 2)
    Next
End Sub

Я хочу получить данные из таблицы тега tbody и только из нескольких столбцов, в частности, второго и четвертого.В дальнейшем я буду использовать список ссылок, чтобы открыть страницу и получить те же данные, основанные на веб-странице, содержащей около 2000-5000 ссылок.

На самом деле сначала я попытался скопировать всю таблицу в таблице Excel, а затем вытащитьнеобходимые данные, но это было слишком медленно, так как я узнал, что для такого способа программа выполняет миллиарды задач, когда больших нет.ссылки должны быть открыты и скопированы снова и снова.

...