मैं वास्तव में WinHTTP और वेब सेवाओं (विशेष रूप से आरईएसटी) सामग्री का आनंद ले रहा हूं। भले ही मुझे सीखने वाली प्रत्येक छोटी चीज़ के लिए काफी शोध करने की ज़रूरत है, और मैं अभी शुरुआत कर रहा हूं, यह इसके लायक है।
कल रात मुझे पता चला कि वीबीए से पीएचपी और पीछे एक चर की यात्रा कैसे करें। दूसरे शब्दों में, मैंने सीखा कि कैसे एक VBA चर को एक PHP फ़ंक्शन (AutomateExcel सर्वर पर एक फ़ाइल में रहने वाले) में पास करना है, चर में हेरफेर करना है, फिर नए परिणाम को VBA पर वापस करना है।
नोट: चर को एक स्ट्रिंग के रूप में भेजा जाता है।
उदाहरण के लिए, इस चित्र में संदेश बॉक्स निम्न द्वारा पहुंचा था:
1. AutomateExcel पर एक PHP फ़ाइल में HTTP पर नंबर 15 रखने वाले वेरिएबल को भेजना
2. एक PHP फ़ंक्शन चर लेता है, इसे 500 से गुणा करता है, फिर उत्तर देता है, इस मामले में 7500
3. वीबीए प्रतिक्रिया पढ़ता है और एक संदेश बॉक्स में जवाब देता है
यहाँ PHP कोड कैसा दिखता है। नोटपैड खोलें, इस जानकारी को कॉपी और पेस्ट करें, फ़ाइल को एक्सटेंशन php के साथ सहेजें, और अपने सर्वर पर अपलोड करें:
12345678910111213141516 |
उदाहरण को सरल रखने के लिए मैंने XML में उत्तर वापस नहीं किया। डेटा भेजने और प्राप्त करने के लिए यहां वीबीए कोड है, आपके द्वारा अभी बनाई गई PHP फ़ाइल को इंगित करने के लिए कनेक्शन स्ट्रिंग बदलें:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | ' Microsoft WinHTTP सेवाओं के लिए एक संदर्भ जोड़ेंकॉन्स्ट HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0निजी उप GetItems ()Dim MyCon नए WinHttpRequest के रूप मेंडिम सेंडथिस डबल के रूप मेंस्ट्रिंग के रूप में मेरा उत्तर मंद करें'भेजने के लिए चर'सेंडथिस = 15'भेजने के लिए कनेक्शन स्ट्रिंगMyCon.Open "GET", _"https://www.automateexcel.com/excel/pl/server500.php" और _"? पासदिस =" और इसे भेजें'भेज देनामायकॉन.भेजें'इसे लौटा दोmyanswer = MyCon.ResponseTextMsgBox myanswerअंत उप |
नोट: Microsoft WinHTTP सेवाओं का संदर्भ जोड़ें
वह तो कमाल है!