Макрос Excel VBA больше не работает на моем iMac - PullRequest
0 голосов
/ 01 января 2019

Я недавно купил iMac и переместил мою книгу EXCEL из Windows.Я настроил этот макрос для импорта данных с веб-сайта.

Он больше не работает, возвращая ошибку «Невозможно запустить компонент ActiveX»

Я пытался найти «Импорт данных»-> С веб-сайта "в версии Excel для Mac OS X, но я не могу ее найти.Видимо, это невозможно.

Может кто-нибудь помочь переписать этот код?

Sub GetTeamLinks()
Dim HTMLdoc As Object, PageSource As String, url As String, i&, Arr, j&, Tbl
url = "http://mwatch.boursakuwait.com.kw/default.aspx/AllShares"

With CreateObject("MSXML2.XMLHTTP")
    .Open "GET", url, True
    .send

    While .readyState <> 4: DoEvents: Wend 'Check for any connection errors.

    If .statusText <> "OK" Then
        MsgBox "ERROR" & .Status & " - " & .statusText, vbExclamation
        Exit Sub
    End If
    PageSource = .responseText
End With

Set HTMLdoc = CreateObject("htmlfile")
HTMLdoc.body.innerHTML = PageSource
HTMLdoc.Close

For Each Tbl In HTMLdoc.getElementsByTagName("table")
    If Tbl.className = "gridtablethin" Then

        ReDim Arr(1 To Tbl.Rows.Length, 1 To Tbl.Rows(0).Cells.Length)
        For j = 2 To 86
            For i = 2 To UBound(Arr, 1)
                If UCase(Sheets("Sheet1").Cells(j, "B")) = Tbl.Rows(i - 1).Cells(0).innerText Then _
                    Sheets("Sheet1").Cells(j, "F") = Tbl.Rows(i - 1).Cells(1).innerText
            Next
        Next
    End If
Next
End Sub

1 Ответ

0 голосов
/ 02 января 2019

попробуйте удалить:

With CreateObject("MSXML2.XMLHTTP")
.Open "GET", url, True
.send

и заменить его на:

ActiveWorkbook.FollowHyperlink "http://mwatch.boursakuwait.com.kw/default.aspx/AllShares"
...