簡體   English   中英

如何發出可以在32位,64位窗口以及Mac(VBA Excel)上運行的http請求?

[英]How do I make an http request that will work on 32-bit, 64-bit windows as well as on Mac (VBA Excel)?

使用VBA進行第一周編程。 我正在創建一個excel插件,並將發出一些HTTP請求以獲取json數據。 我需要使其跨平台,但是對於VBA必須發出/接收HTTP請求的不同品種,我確實感到困惑。 他們的文檔尚不清楚它將在什么平台上運行。 我只有64位Office和Windows可以進行測試,但這需要在32位以及Mac上都可以運行。 我正在使用以下內容,並且對我有用,但是即使在谷歌搜索后,我也不知道它是否可以在其他地方使用:

Dim myURL As String: myURL = "https://blah.com"
Dim req As MSXML2.XMLHTTP60: Set req = New MSXML2.XMLHTTP60

req.Open "GET", myURL, False
req.Send
DEBUG.Print req.responseText

MSXML2.XMLHTTP60是否可以在所有平台上運行,還是應該使用其他功能?

多年來,我在XP中使用相同的組件。 除非您要支持舊系統,否則它應該可以在大多數平台上運行。

來自Microsoft Xml團隊的日期為2006年10月23日下午6:01

  • 使用MSXML 6.0-在Vista中是“包裝盒”,可在Win2k,XP和2003上下載。它具有最佳的安全性,性能,可靠性和W3C一致性MSXML 3.0是我們首選的“后備”-已安裝在完整安裝Win2k SP4的完整操作系統上安裝的每個操作系統上,因此它需要“零部署”,並隨操作系統定期提供服務
  • MSXML 4.0大約5年前發布到Web上,但是此時已被MSXML 6.0取代,並且僅用於支持舊版應用程序
  • 用於Microsoft Office應用程序的MSXML 5.0是為Office應用程序專門構建的,並不適合廣泛部署。 Internet Explorer 7實際上在Internet區域中具有“默認情況下默認關閉”的MSXML5組件,因此,如果您的代碼嘗試實例化它,則客戶將在頁面上獲得每個MSXML5控件的金條。 最好的建議是避免在Web應用程序中使用MSXML5(無論如何,只有具有Office 2003或更高版本的計算機才會使用它)。

確實可以在32位或64位Windows上運行,因為我們有可以在32位和64位DLL中調用MSXML解析器的工作代碼。 至少從Windows 2000開始,它已隨操作系統一起安裝。

有趣的是,我也找不到Microsoft明確說明MSXML在32位或64位可用的文檔。 隨操作系統一起部署的事實可能暗示了這一點。

除了我的經驗之外,這里還有證據證明有人在比較32位和64位版本之間的性能: http ://social.msdn.microsoft.com/Forums/en-US/52330c5c-2eae-493c-9560-caf3dd21c14f/why -64bit-msxml2domdocument60 -是-多越慢,當時的32位?論壇= xmlandnetfx

Mac部分較難。 我認為MSXML的答案是“否”。

  1. 您可能會考慮條件編譯 ,以便在Mac上使用其他XML解析器。
  2. 其他人似乎對Excel中的QueryTables對象有些運氣,並且完全繞過了解析器。 這可能適合您的情況,也可能不合適。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM