Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用VBA将字符串值从excel中的序列化.xlsx文件转换为可用数据_Excel_Http_Vba_Xlsx_Winhttprequest - Fatal编程技术网

如何使用VBA将字符串值从excel中的序列化.xlsx文件转换为可用数据

如何使用VBA将字符串值从excel中的序列化.xlsx文件转换为可用数据,excel,http,vba,xlsx,winhttprequest,Excel,Http,Vba,Xlsx,Winhttprequest,我在VBA和excel方面的经验非常有限 所以我有一个服务器,它可以生成.xlsx格式的报告供用户下载。我试图让excel宏从生成的报告中获取数据,并将其自动插入到报告中,而无需手动复制和粘贴 我成功地连接到服务器,并以字符串的形式获得.xlsx文件,如代码所示 ' Grab file Dim objHTTP As New WinHttpRequest objHTTP.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = CInt("&H3

我在VBA和excel方面的经验非常有限

所以我有一个服务器,它可以生成.xlsx格式的报告供用户下载。我试图让excel宏从生成的报告中获取数据,并将其自动插入到报告中,而无需手动复制和粘贴

我成功地连接到服务器,并以字符串的形式获得.xlsx文件,如代码所示

' Grab file
Dim objHTTP As New WinHttpRequest
objHTTP.Option(WinHttpRequestOption_SslErrorIgnoreFlags) = CInt("&H3300")
objHTTP.Option(WinHttpRequestOption_EnableRedirects) = False
' URL_Report is the server address
objHTTP.Open "GET", URL_Report, False 
objHTTP.setRequestHeader "Accept", "text/html"

' Send HTTP request
objHTTP.send

' This has the .xlsx file in the form of a string
objHTTP.responseText

我想知道将objHTTP.responseText转换为可用内容的最佳方法,在这里我可以访问单元格值等,或者如果这不可能,通过我的服务器发送excel数据的一种好方法,以便可以读取excel数据并与VBA一起使用。您可以更改服务器以纯文本形式导出数据,例如csv格式


然后,在另一方面,只需下载文本文件并在VBA中对其进行解析。

您是否尝试过使用类似于
Dim wb As Workbook:Set wb=Workbooks.Open(“urlgoesher”)
@Tim的简单方法,这看起来很有希望。有没有办法让它处理服务器端授权?我从来没有尝试过——我猜这取决于使用的身份验证类型,这正是我最终要做的