J'essaie d'envoyer des données d'un document Word à une page Web. J'ai trouvé du code, l'ai collé dans un nouveau module et l'ai enregistré. Lorsque je l'exécute, j'obtiens "erreur de compilation, type défini par l'utilisateur non défini"
Mon 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
Une alternative potentielle pour éviter d'avoir à sélectionner la bibliothèque est d'utiliser un objet, c'est-à-dire.
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
Vous devez définir une référence aux services Microsoft WinHTTP dans votre projet VBA (Outils -> Références).
Voici à quoi cela ressemblerait:
En outre, vous pouvez en savoir plus sur les services Microsoft WinHTTP, version 5.1 ici .
Vous devrez modifier vos références (Outils => Références dans la fenêtre de code). Chercher Microsoft WinHTTP Services, version 5.1
(ou plus récent) et cochez la case. Si vous utilisez Vista et Office 2007, vous devrez peut-être également l'enregistrer d'abord. Ouvrez une fenêtre de commande en tant qu'administrateur et collez:
>regsvr32.exe "c:\windows\system32\winhttp.dll"
Il devrait dire si cela fonctionne.