VBA MSXML2打开成员POST

在这个代码snipet的例子…

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 

…我面临的代码打开,我认为是一种方法,因为它不等于任何东西(在OB屏幕左下angular一旦select它说这是一个小组,但我rest我的情况下OB命名方法作为子和函数 – 我想它说这是一个类浏览器,所以我们说方法为子或函数就像当我们“自定义”使他们在一个类模块,但我不知道)。 如果我去MSXML2库中的对象浏览器,我将在XMLHTTP中find列为成员的Open。

那么如果我打F1的VBA的帮助有3个select。 第一select(VBA图书馆)一个告诉我,这是明显不是的公开声明。

第二个select(Excel库)有一个没有参数的RecentFile .Open方法所以它也不买。

第三种select(Office Library)为我提供了开发人员参考主菜单。

所以F1 VBA的自动帮助对MSXML2库没有任何帮助。 但是,如果我从MSXML2.XMLHTTP库中select打开成员,则在OB的左下angular底部

 Sub open(bstrMethod As String, bstrUrl As String, [varAsync], [bstrUser], [bstrPassword]) Member of MSXML2.XMLHTTP Open HTTP connection 

所以我的问题是双重的

  • 有详细的文档MSXML2库的成员有一个坚实的帮助/或在VBA的Autohelp上添加的方法吗? (顺便说一句,微软的MSXML开发中心MSXLM是广泛的和模糊的,我也相信它指向经验的影射…

  • 为什么我在使用MSXML2.HTTP打开成员的相关示例中看到,第一个String参数总是用Cap字母填充单词“POST”? 这令人难以置信 – 他们不能使用另一个string值吗?

@codeape提交的答案后:

亲爱的codeape所以根据你的回答,我们有

 open Method (IXMLHTTPRequest) 

并且现有的VBA示例(MS缺less)中的参数组成了IXMLHTTPRequest,因此:

 Open methods Paramenters --> IXMLHTTPRequest 

请确认这是否属实,以便我将这个post编辑成更方便用户使用的所有确认说明。

另外我不能帮助我的好奇心,为什么我们有一个在IXMLHTTPRequest命名? 就是想…

关于POST问题, 感谢您的回答,我使用了HTTP方法,并在W3School中发现了这个整洁的链接,这在很大程度上向我解释。 真的为什么不使用GET? 它看起来更快速…而不是提交数据要由指定的来源(与POST)处理只是在一个请求从指定的来源的数据,它看起来更加迅速和简单…


Oooups我差点忘了打开的方法链接,你给我,以及在OB的底部,我们看到bstrMethod作为string,bstrUrl作为string等你能告诉我什么是BSTR的意思? – BSTR是指基本string还是二进制string? 请确认

  1. XMLHTTP的文档在这里 。 请注意,文档页面是针对IXMLHTTPRequest接口的。 MSXML.XMLHTTP实现这个接口。
  2. Open方法的第一个参数是HTTP方法,即GET或POST(或PUT,DELETE等)。

不幸的是,当谈到logging各种COM库时,MS看起来好像忘记了VBA。 大部分/所有文档都是针对C ++和javascript的。

在问题中提到的其他事情的评论:

  • IXMLHTTPRequest中的“I”是用于命名接口的COM中的命名约定。
  • 关于HTTP方法(GET,POST等):

    • 服务器端代码决定如何解释和响应HTTP请求。
    • 当您在浏览器的URL栏中inputURL时,浏览器会向服务器发送GET请求。 所以,如果你想使用MSXML.XMLHTTP获取网页,请执行: obj.Open "GET", "http://www.google.com"

    • 从浏览器提交HTML表单时,浏览器可以根据<form>标记的方法属性发送GET或POST请求。 <form method="GET"> (默认)或<form method="POST">

    • 页面上的Javascript可以使用任何HTTP方法使用XMLHTTPRequest发送AJAX请求。
  • 关于参数名称bstrMethod等:这是匈牙利语法 ,其中参数的预期types反映在参数的名称中,以使开发人员更容易。 bstr意味着这个参数是一个COM“ 基本string ”。 一个基本的string是COM通常用于unicodestring的东西。 在VBA中,可以使用普通的VBAstring,方法需要一个bstr。