Der folgende Code funktioniert. Aber wenn ich die Linie Dim objRequest As MSXML2.XMLHTTP
Kommentar und Kommentar- die Zeile Dim objRequest As Object
es mit der Fehlermeldung fehlschlägt:MSXML2.XMLHTTP-Sendemethode funktioniert mit früher Bindung, schlägt mit später Bindung fehl
Der Parameter ist falsch
Warum, und was (wenn überhaupt) kann ich dagegen tun?
Public Function GetSessionId(strApiId, strUserName, strPassword) As String
Dim strPostData As String
Dim objRequest As MSXML2.XMLHTTP
'Dim objRequest As Object '
strPostData = "api_id=" & strApiId & "&user=" & strUserName & "&password=" & strPassword
Set objRequest = New MSXML2.XMLHTTP
With objRequest
.Open "POST", "https://api.clickatell.com/http/auth", False
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
.send strPostData
GetSessionId = .responseText
End With
End Function
Corey, ja, ich weiß, ich würde zu tun hat, dass, um für meinen Code an die MSXML Typbibliothek ohne Referenz zu arbeiten. Das ist nicht das Problem hier. Der Code schlägt fehl, wenn mit Dim objRequest As Object
unabhängig davon, ob ich
Set objRequest = NEW MSXML2.XMLHTTP
mit der Referenz oder
Set objRequest = CreateObject("MSXML2.XMLHTTP")
ohne Referenz.
Yay! Danke, Tomalak, das hat es repariert! :) –
Sehr seltsam, dass die Lösung Parathensis zu '.send (strPostData)' hinzuzufügen. Aber ich habe gerade bestätigt, dass es wirklich so ist. –
@Bruno: Danke für die Bestätigung. Ich bin davon überzeugt, dass es eine völlig logische Erklärung hierfür gibt, irgendwo im Kern von VBA oder VBA-zu-COM-Interaktion im Allgemeinen oder der MSXML2.XMLHTTP-Bibliothek im Besonderen, aber ich habe keine Ahnung. Ich bin sicher @eric Lippert könnte das erklären. ;) – Tomalak