Excel VBA BMC Discovery CSV URL Ошибка длины строки запроса - PullRequest
0 голосов
/ 06 февраля 2019

Я пытаюсь выполнить URL-запрос для обнаружения BMC, чтобы извлечь данные CSV в электронную таблицу с помощью Excel VBA.Проблема, с которой я сталкиваюсь, состоит в том, что строка запроса составляет 2060 символов после того, как она была закодирована.Когда я пытаюсь вставить строку в редактор VBA, я получаю синтаксическую ошибку.Я определил, что максимальная длина строки, которую я могу использовать, составляет около 980 символов.Если я разбиваю строку на 3 строки длиной менее 980 символов, а затем объединяю их вместе, появляется ошибка «Требуется постоянное выражение».Я знаю, что длина строки может быть 64 тыс. Символов, поэтому эти ошибки меня озадачивают.

Формат запроса:

https://*INSERT_SERVER_HERE*/ui/api/CsvApi?query=*INSERT_ENCODED_QUERY_HERE*&username=*USERNAME*&password=*PASSWORD*

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

Option Explicit

Public Sub BMC_CSV_API_Test()
Dim qt As QueryTable
Dim ws As Worksheet

Set ws = ThisWorkbook.Worksheets("Sheet1")

Const URL As String = "PUT URL QUERY STRING HERE"

Set qt = ws.QueryTables.Add(Connection:="URL;" & URL, Destination:=ws.Range("A1"))

With qt
    .RefreshOnFileOpen = True
    .FieldNames = True
    .WebSelectionType = xlSpecifiedTables
    .WebTables = 1
    .Refresh BackgroundQuery:=False
End With

End Sub

Любые предложения, комментарии, советы, советы приветствуются

...