Я пытаюсь выполнить 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
Любые предложения, комментарии, советы, советы приветствуются