我正在尝试向BMC发现发出URL查询,以使用Excel VBA将CSV数据检索到电子表格中。我遇到的问题是查询字符串经过编码后,长度为2060个字符。当我尝试将字符串粘贴到VBA编辑器中时,出现语法错误。我确定可以使用的最大字符串长度约为980个字符。如果我将字符串分成3个长度少于980个字符的字符串,然后将它们串联在一起,则会出现错误“需要常量表达式”。我知道一个字符串可以是64k个字符,所以这些错误使我感到困惑。
查询的格式为:
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
任何建议,评论,技巧和建议都得到赞赏