【发布时间】:2014-03-07 15:14:31
【问题描述】:
在此代码片段示例中...
Dim pullSite As String
Dim pullXMLHTTP As MSXML2.XMLHTTP
Set pullXMLHTTP = New MSXML2.XMLHTTP
pullSite = "http://www.ThisIsASite.com/Documents/whatever........xml"
pullXMLHTTP.Open "POST", strXMLSite, False
...我在代码中遇到了 Open 这个词,我认为它是一种方法,因为它不等于任何东西(在左下角的 OB 屏幕中,一旦选择它就说它是一个 Sub,但我休息一下OB 将方法命名为 Sub 和 Function 的案例 - 我想它想说这是一个类浏览器,所以我们将方法声明为 Sub 或 Function 就像我们“自定义”在类模块中制作它们时一样,但我不确定)。如果我转到 MSXML2 库中的对象浏览器,我会在 XMLHTTP 中找到作为成员列出的 Open。
如果我打 F1 VBA 的帮助有 3 个选择。第一选择(VBA 库)告诉我这是显然不是的开放语句。
第二个选择(Excel 库)有一个 RecentFile。打开方法没有参数,所以它也不买那个。
第三个选项(Office Library)给了我开发者参考主菜单。
所以 F1 VBA 的自动帮助对 MSXML2 库没有任何帮助。但是,如果我从 MSXML2.XMLHTTP 库中选择它声明的开放成员,则在 OB 的左下角
Sub open(bstrMethod As String, bstrUrl As String, [varAsync], [bstrUser], [bstrPassword])
Member of MSXML2.XMLHTTP
Open HTTP connection
所以我的问题是双重的
是否有详细记录 MSXML2 库成员的可靠帮助/或将其添加到 VBA 的自动帮助中的方法? (顺便说一句,微软的 MSXML 开发中心 MSXLM 庞大而模糊。我也相信它指向经验丰富的影射......
为什么我在使用 MSXML2.HTTP Open 成员的相关示例中看到,第一个字符串参数 always 填充了单词“POST”大写字母?让我难以置信——他们不能使用另一个字符串值吗?
@codeape 提交答案后:
亲爱的codeape,根据你的回答,我们有
open Method (IXMLHTTPRequest)
和现有 VBA 示例(MS 缺少)中的参数全部形成 IXMLHTTPRequest,因此:
Open methods Paramenters --> IXMLHTTPRequest
请确认这是否属实,以便我以更用户友好的方式编辑此帖子,所有已确认的说明供其他人使用。
我也忍不住好奇,为什么我们在 IXMLHTTPRequest 命名中有一个 I?只是想知道...
关于 POST 问题感谢您的回答我搜索了 HTTP 方法并在 W3Schools 中找到了这个简洁的链接,这在很大程度上向我解释了。真的为什么不使用GET?它看起来更快速...而不是提交数据以由指定源(使用 POST)处理,只需从指定源一次性请求数据,它看起来更快捷和简单...
哎呀,我几乎忘记了你给我的打开方法链接以及在 OB 的底部我们看到 bstrMethod As String、bstrUrl As String 等。你能告诉我 bstr 是什么意思吗? - BSTR 是指基本字符串还是二进制字符串?请确认
【问题讨论】: