2010-06-25 8 views
20

Ich versuche, Daten aus einem Word-Dokument an eine Webseite zu senden. Ich habe Code gefunden, in ein neues Modul eingefügt und gespeichert. Wenn ich es laufen bekomme ich „kompilieren Fehler, definiert Benutzertyp nicht definiert“Senden von HTTP-Anforderungen mit VBA aus Word

Mein Code:

Sub http() 

    Dim MyRequest As New WinHttpRequest 

    MyRequest.Open "GET", _ 
    "http://www.google.com" 

    ' Send Request. 
    MyRequest.Send 

    'And we get this response 
    MsgBox MyRequest.ResponseText 

End Sub 

Antwort

23

Eine mögliche Alternative zu vermeiden, um die Bibliothek zu wählen ist ein Objekt das heißt

Sub http() 
Dim MyRequest As Object 

    Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1") 
    MyRequest.Open "GET", _ 
    "http://www.google.com" 

    ' Send Request. 
    MyRequest.Send 

    'And we get this response 
    MsgBox MyRequest.ResponseText 

End Sub 
+0

Das hat bei mir funktioniert, danke – Saul

2

Sie benötigen, um Ihre Referenzen (Tools => Referenzen im Code-Fenster) zu ändern. Suchen Sie nach Microsoft WinHTTP Services, version 5.1 (oder neuer) und kreuzen Sie das Kästchen an. Wenn Sie Vista und Office 2007 verwenden, müssen Sie es möglicherweise auch zuerst registrieren. Öffnen Sie ein Befehlsfenster als Administrator und fügen Sie ein

>regsvr32.exe "c:\windows\system32\winhttp.dll" 

Es sollte sagen, wenn es funktioniert.

18

Sie müssen einen Verweis auf Microsoft WinHTTP Services in Ihrem VBA-Projekt (Tools -> Referenzen) festlegen.

Hier ist, was es würde so aussehen:

Außerdem können Sie mehr über die Microsoft WinHTTP Services Version 5.1 here lesen.

+0

Wenn in meinem Visual Basic-Bearbeitungsbildschirm zu verwenden, die Tools> Referenzen Menübefehl wird abgeblendet. – Saul

+2

@Saul: Das bedeutet normalerweise, dass der Code oder der Debugger noch läuft. Klicken Sie auf Ausführen -> Zurücksetzen und danach auf Extras> Referenzen. –

Verwandte Themen