Невозможно удалить первые два столбца таблицы при очистке - PullRequest
0 голосов
/ 02 марта 2019

Я создал макрос в vba, используя запрос xmlhttp для анализа некоторых табличных данных с веб-страницы.Я могу получить все содержимое этой таблицы, когда попробую свой скрипт ниже.Однако мое намерение состоит в том, чтобы получить содержимое из столбца Card# для остальных.Суть в том, что я хочу избавиться от первых двух столбцов Image и Spec#.

ссылка на сайт

Как получить табличное содержимое, кроме первых двух столбцов?

Это моя попытка:

Sub GetTable()
    Dim S$, c&, R&, elem As Object, tRow As Object

    With New XMLHTTP60
        .Open "GET", "https://www.psacard.com/psasetregistry/baseball/company-sets/2018-topps-now/publishedset/271273", False
        .send
        S = .responseText
    End With

    With New HTMLDocument
        .body.innerHTML = S
        For Each elem In .getElementsByTagName("table")(0).Rows
            For Each tRow In elem.Cells
                c = c + 1: Cells(R + 1, c) = tRow.innerText
            Next tRow
            c = 0: R = R + 1
        Next elem
    End With
End Sub

Ссылка для включения перед выполнениемскрипт:

Microsoft XML, v6.0
Microsoft HTML Object Library

1 Ответ

0 голосов
/ 02 марта 2019

Кажется, проще всего проверить значение c, составляющее> 3, и отрегулировать выходной сигнал c для -3

Option Explicit

Public Sub GetTable()
    Dim S$, c&, R&, elem As Object, tRow As Object

    With New XMLHTTP60
        .Open "GET", "https://www.psacard.com/psasetregistry/baseball/company-sets/2018-topps-now/publishedset/271273", False
        .send
        S = .responseText
    End With

    With New HTMLDocument
        .body.innerHTML = S
        For Each elem In .getElementsByTagName("table")(0).rows
            For Each tRow In elem.Cells
                c = c + 1
                If c > 3 Then Activesheet.Cells(R + 1, c - 3) = tRow.innerText
            Next tRow
            c = 0: R = R + 1
        Next elem
    End With
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...