Как напечатать код Powerquery в Excel, используя VBA? - PullRequest
0 голосов
/ 15 марта 2019

Я получил около 90 Powerqueries в своей книге Excel, некоторые из них с довольно обширным кодом.Чтобы просмотреть код и проверить логику запросов, я хочу, чтобы код всех запросов был напечатан на листе (вместо того, чтобы открывать каждый запрос и расширенный редактор и копировать и вставлять код).
Не удалосьнайти что-нибудь в интернете.Также пытался записать макрос, но он ничего не записывает в редакторе запросов.Также сохранил файл Excel как .zip и искал что-нибудь полезное в xml-файлах - безуспешно.
У кого-нибудь есть идеи?

1 Ответ

1 голос
/ 15 марта 2019

Как и все collections в VBA, вы можете получить доступ к элементам по name или index .
Следующий код добавляет новый лист "Запросы" вконец рабочей книги и список всех запросов.

Sub ListQueries(Optional wb As Workbook = Nothing)

    If wb Is Nothing Then Set wb = ActiveWorkbook
    Dim ws As Worksheet

    wb.Sheets.Add after:=wb.Sheets(wb.Sheets.Count)
    Set ws = ActiveSheet

    With ws
        .Name = "queries"
        .Range("A1") = "Name"
        .Range("B1") = "Query"
        .Range("B:B").ColumnWidth = 150

        Dim i As Long
        For i = 1 To wb.Queries.Count
            .Range("A" & i + 1) = wb.Queries(i).Name
            .Range("B" & i + 1) = wb.Queries(i).Formula
        Next i
    End With

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