2010-06-25 26 views
20

से वीबीए के साथ HTTP अनुरोध भेजना मैं एक वर्ड दस्तावेज़ से डेटा को वेब पेज पर भेजने की कोशिश कर रहा हूं। मुझे कुछ कोड मिला है, इसे एक नए मॉड्यूल में चिपकाया है, और इसे बचाया है। मैं जब मैं इसे चलाने के "त्रुटि संकलन, उपयोगकर्ता परिभाषित प्रकार परिभाषित नहीं"वर्ड

मेरे कोड:

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 

उत्तर

23

एक संभावित विकल्प पुस्तकालय का चयन करने के लिए होने से बचने के लिए किसी चीज़ का इस्तेमाल करने के लिए है अर्थात

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

यह मेरे लिए धन्यवाद, धन्यवाद – Saul

2

आप अपने संदर्भ (उपकरण => कोड विंडो में संदर्भ) बदलने के लिए की आवश्यकता होगी। Microsoft WinHTTP Services, version 5.1 (या नए) के लिए देखो और बॉक्स पर टिकटें। यदि आप Vista और Office 2007 का उपयोग कर रहे हैं, तो आपको इसे पहले पंजीकरण करने की भी आवश्यकता हो सकती है। व्यवस्थापक कमांड के रूप में एक कमांड विंडो खोलें और पेस्ट करें:

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

यह कहना चाहिए कि यह काम करता है या नहीं।

18

आपको अपने वीबीए प्रोजेक्ट (टूल्स -> संदर्भ) में माइक्रोसॉफ्ट विनहटटीपी सेवाओं का संदर्भ सेट करने की आवश्यकता है।

इसके अलावा, आप माइक्रोसॉफ्ट WinHTTP सेवाएं, संस्करण 5.1 here के बारे में अधिक पढ़ सकते हैं:

यहाँ यह कैसे दिखाई देते हैं जाएगा।

+0

जब मेरे दृश्य बुनियादी संपादन स्क्रीन में उपकरण> संदर्भ मेनू आदेश निष्क्रिय है। – Saul

+2

@ साउल: आमतौर पर इसका मतलब है कि कोड या डीबगर अभी भी चल रहा है। रन-> रीसेट करें और उसके बाद उस टूल> संदर्भों पर क्लिक करने का प्रयास करें। –

संबंधित मुद्दे