विज्ञापन
विंडोज़ के साथ इसका एकीकरण इंटरनेट एक्सप्लोरर का उपयोग करके कई आश्चर्यजनक तरीकों से नियंत्रण की अनुमति देता है किसी भी एप्लिकेशन से विजुअल बेसिक फॉर एप्लिकेशन (VBA) स्क्रिप्ट जो इसे सपोर्ट करता है, जैसे वर्ड, आउटलुक या एक्सेल।
VBA स्वचालन - विशेष रूप से सीधे IE जैसे ब्राउज़र को स्वचालित करना, जैसा कि आप इस लेख में देखेंगे - बिल्कुल एक सुविधाजनक प्रोग्रामिंग स्क्रिप्ट से शक्तिशाली स्वचालन भाषा में VBA को ऊपर उठाने वाली चीज़ की तरह। क्या यह इतना भयानक है तथ्य यह है कि नियंत्रण या वस्तुओं के साथ कई अनुप्रयोगों बस VBA प्रोग्रामिंग भाषा का उपयोग कर आप इसे में एकीकृत करने की अनुमति के उद्देश्य से बनाया जाता है।
इन वर्षों के दौरान, हमने आपको दिखाया है कि VBA के साथ कुछ वास्तव में अच्छा सामान कैसे किया जाता है। उदाहरण के लिए, आप इसका उपयोग कर सकते हैं एक्सेल के अंदर से सीधे ईमेल भेजें VBA स्क्रिप्ट का उपयोग करके एक्सेल स्प्रेडशीट से ईमेल कैसे भेजेंहमारे कोड टेम्प्लेट आपको सहयोग डेटा ऑब्जेक्ट्स (CDO) और VBA स्क्रिप्ट का उपयोग करके Excel के भीतर से स्वचालित ईमेल सेट करने में मदद करेंगे। अधिक पढ़ें
, आप स्वचालित रूप से कर सकते हैं एक्सेल स्प्रेडशीट में आउटलुक कार्यों को निर्यात करें VBA के साथ एक्सेल में अपने आउटलुक टास्क कैसे एक्सपोर्ट करेंआप Microsoft के प्रशंसक हैं या नहीं, एक अच्छी बात जो एमएस ऑफिस के उत्पादों के बारे में कही जा सकती है, कम से कम, यह आसान है कि उनमें से प्रत्येक को एक दूसरे के साथ एकीकृत करना कितना आसान है ... अधिक पढ़ें , और आप भी कर सकते हैं अपना इंटरनेट ब्राउज़र डिज़ाइन करें कैसे VBA का उपयोग कर अपने खुद के बुनियादी इंटरनेट ब्राउज़र बनाने के लिएजब आप वास्तव में इसके बारे में सोचना बंद कर देते हैं, तो इसके सरल रूप में एक इंटरनेट ब्राउज़र वास्तव में इतना प्रभावशाली नहीं होता है जो एक अनुप्रयोग है। मेरा मतलब है, हाँ, इंटरनेट किसी के भी मानकों से अद्भुत है। जोड़ने की अवधारणा ... अधिक पढ़ें ! यह या तो केवल Microsoft उत्पाद नहीं है। सभी प्रकार के विक्रेताओं से तृतीय-पक्ष अनुप्रयोग हैं जिन्होंने VBA और संगत वस्तुओं को अपने सॉफ़्टवेयर में एकीकृत किया है - ऑटोकैड के लिए Adobe Acrobat SDK से ObjectARX SDK तक - आपके द्वारा "अधिक प्लग इन" करने के तरीके हैं, जो शायद आप से अधिक हैं एहसास।विचार
इस स्थिति में, आप एक्सेल को IE से जोड़ने जा रहे हैं। क्यों IE? क्योंकि Internet Explorer ऑपरेटिंग सिस्टम के साथ इतनी अच्छी तरह से एकीकृत है कि आपको वास्तव में Word या Excel जैसे अन्य Microsoft उत्पादों में VBA में IE स्वचालन का उपयोग शुरू करने के लिए बहुत कुछ नहीं करना पड़ेगा। की सुंदरता है इस लेख में आप देखेंगे कि यह स्वचालन कैसे काम करता है, और भविष्य के लेख में आप देखेंगे कि अन्य ब्राउज़रों के साथ लगभग एक ही तरह का काम कैसे किया जाता है।
जो मैं आपको यहाँ दिखाने जा रहा हूँ वह एक बहुत ही सरल अनुप्रयोग है, लेकिन इसमें बहुत सारे अनुप्रयोग हैं जहाँ आप इस कोड का उपयोग अपने ब्राउज़र के साथ कई प्रकार की ठंडी चीजों को करने के लिए कर सकते हैं। लब्बोलुआब यह है कि आप एक बटन के एक क्लिक के साथ अपने सभी खुले ब्राउज़र विंडो को जल्दी से बचाने के उद्देश्य से एक एक्सेल स्प्रेडशीट बनाने जा रहे हैं। आप इस स्प्रैडशीट को सहेज सकते हैं और दूर चल सकते हैं या अपना कंप्यूटर बंद कर सकते हैं।
एक या तीन दिन बाद वापस आएं, स्प्रैडशीट खोलें, एक और बटन पर क्लिक करें और उन सहेजे गए URL फिर से उतने ही टैब में फिर से खुल जाएंगे, जितने पहले आपके पास थे। इसका स्पष्ट शांत उपयोग एक्सेल में आम ऑनलाइन कार्यक्षेत्र सेटअप की एक पूरी लाइब्रेरी को स्टोर करने के लिए होगा। फिर आप उन सभी URL को फिर से खोजने के बिना एक बटन के एक क्लिक के साथ उस कार्यक्षेत्र को पुनर्स्थापित कर सकते हैं।
VBA के साथ इंटरनेट एक्सप्लोरर को स्वचालित करना
पहली बात यह है कि एक्सेल खुला है (मैं 2013 का उपयोग कर रहा हूं - अन्य संस्करण समान हैं जब यह वीबीए प्रोग्रामिंग में आता है) और डेवलपर मेनू आइटम पर जाएं। वहाँ के अंदर, आपको एक सम्मिलित बटन दिखाई देगा, जो आपके सभी नियंत्रणों को गिरा देता है। ActiveX पुशबटन नियंत्रण का चयन करें और इसे अपनी स्प्रैडशीट में रखें।
यदि आप चाहते हैं तो संभवतः, आपने पहले ही URL के लिए एक हेडर बनाया है, लेकिन आपको ऐसा नहीं करना है। यह वास्तव में एक URL स्टोरेज लाइब्रेरी है, इसलिए हेडर वास्तव में मायने नहीं रखते हैं। एक बार जब आप बटन जोड़ लेते हैं, तो VBA संपादक खोलने के लिए उस पर डबल क्लिक करें। निचले बाएँ की ओर, आप अपने नए पुशबटन के लिए गुण देखेंगे।
इसे cmdSaveURLs जैसी किसी चीज़ का नाम दें और कैप्शन को "URL सहेजें" पर सेट करें - यह दर्शाता है कि यह आपके IE ब्राउज़र से सभी खुले URL को बचाने के लिए बटन है।
इसके बाद, VBA संपादक के शीर्ष पर स्थित उपकरण मेनू पर जाएं, मेनू में संदर्भ पर क्लिक करें, और "Microsoft इंटरनेट नियंत्रण" संदर्भ को खोजने के लिए लंबी सूची को नीचे स्क्रॉल करें। इसके बाईं ओर स्थित चेकबॉक्स पर क्लिक करें और फिर ठीक पर क्लिक करें।
अब आप रोल करने के लिए तैयार हैं। संपादक पाठ क्षेत्र में, आपको "निजी उप cmdSaveURLs_Click ()" पढ़ने वाली एक पंक्ति देखनी चाहिए। यदि आप इसे नहीं देखते हैं, तो पाठ क्षेत्र के ऊपर बाएँ ड्रॉपडाउन बॉक्स पर क्लिक करें और सूची में cmdSaveURLs खोजें। इसे चुनें, और यह आपके लिए क्लिक () फ़ंक्शन बनाएगा।
यह वह कोड है जिसे आप उस फ़ंक्शन में सम्मिलित करना चाहते हैं:
im IE वस्तु के रूप में। नई शेलविंड के रूप में डिम शेल्विन। मंद IE_TabURL स्ट्रिंग के रूप में। परिचायक के रूप में डिम इंट्रोपोजिशन intRowPosition = 2 प्रत्येक IE में शेल के लिए IE_TabURL = IE.LocationURL यदि IE_TabURL <> vbNullString फिर Sheet1.Range ("A" और intRowPosition) = IE_TabURL intRowPosition = intRowPosition + 1 अंत यदि अगला सेट शेल्विन = कुछ भी नहीं। IE सेट करें = कुछ भी नहीं
Microsoft स्क्रिप्टिंग रनटाइम संदर्भ यह बनाता है ताकि आप शेलविंडो ऑब्जेक्ट तक पहुंच सकें, जो आपको विंडोज के माध्यम से पुनरावृत्त करने और IE के उदाहरणों का पता लगाने की अनुमति देता है जो आपके पास खुले हैं। यह स्क्रिप्ट आपके द्वारा खोले गए प्रत्येक URL का पता लगाएगा और इसे एक्सेल स्प्रेडशीट पर लिख देगा।
इसलिए, सिद्धांत रूप में यदि आप ब्लॉगिंग जैसी किसी चीज़ पर काम कर रहे हैं, और आपके पास कुछ आइटम खुले हैं, जैसे अनुसंधान विंडो, आपका ब्लॉग संपादक या एक कैलेंडर विंडो - ये सभी टैब सक्रिय होंगे। यदि आपको जल्दी में बंद या छोड़ना पड़ता है, तो यह बचाने के लिए एक वास्तविक दर्द हो सकता है कि आप उन सभी URL को कॉपी करके कहां हैं।
अपनी नई एक्सेल स्क्रिप्ट के साथ, बस लोड यूआरएल बटन पर क्लिक करें, और यह सही तरीके से स्प्रेडशीट में लोड होगा।
एक कैविएट। यदि आप हेडर पंक्ति का उपयोग नहीं कर रहे हैं, तो आप "intRowPosition = 2" लाइन को "intRowPosition = 1" में बदलना चाहते हैं और हेडर पंक्ति को छोड़ देने के बजाय यह पहली पंक्ति में शुरू होगा।
अपने सहेजे गए ब्राउज़र कार्यक्षेत्र को खोलना
इस परियोजना का अगला चरण दूसरी दिशा में जाना है। "URL लोड करें" पर क्लिक करें और एक्सेल लॉन्च करें IE और उन सभी URL को फिर से लोड करें जिन्हें आपने स्प्रेडशीट में सहेजा है। यहाँ क्या cmdLoadURLs_Click () फ़ंक्शन दिखना चाहिए।
वस्तु के रूप में मंद IE। नई शेलविंड के रूप में डिम शेल्विन। मंद IE_TabURL स्ट्रिंग के रूप में। Dim intRowPosition Integer intRowPosition = 2 सेट IE = CreateObject ("InternetExplorer")। एप्लिकेशन ") IE.Voice = True IE.Navigate Sheet1। निकला ("A" & intRowPosition) जबकि IE.Busy DoEvents। Wend intRowPosition = intRowPosition + 1 जबकि Sheet1.Range ("A" और intRowPosition) <> vbNullString IE.Navigate Sheet1.Range ("A" और intRowPosition), CLng (2048) जबकि IE.Busy DoEvents Wend intRowPosition = intRowPosition + 1. IE सेट करें = कुछ भी नहीं
यहाँ कुछ चरण हैं, लेकिन जैसा कि आप देख सकते हैं कि कोड लंबा या जटिल नहीं है। आप IE का एक नया उदाहरण बनाते हैं, इसे दृश्यमान बनाते हैं (यह URL को लोड किए बिना IE खोल देगा)। इसके बाद सूची में पहला URL लोड होगा।
स्क्रिप्ट का "जबकि IE.Busy" भाग पूरी तरह से लोड होने तक प्रतीक्षा करता है, और फिर आपके URL के बाकी हिस्सों में चला जाता है स्प्रेडशीट, एक नया टैब खोलना (जो "CLng (2048)" है, जब तक कि यह आपके स्प्रेडशीट में एक रिक्त सेल को हिट नहीं करता है, तब तक यह बंद हो जाएगा) नए टैब खोलने यहां मेरे IE ब्राउज़र को सभी चार मूल टैब के साथ एक्सेल IE स्वचालन स्क्रिप्ट का उपयोग करके पुनर्प्राप्त किया गया है।
सारांश
ऐसा करने का मेरा वास्तविक लक्ष्य व्यक्तिगत स्प्रेडशीट को अपने स्वयं के ब्लॉग पर लिखने और शोध करने और लिखने जैसे कार्यों के लिए टैब का संग्रह स्थापित करना था। MakeUseOf पर, साइट पर एसईओ परियोजना काम कर रही है, या अन्य भूमिकाओं या परियोजनाओं की एक पूरी सूची है जिन्हें हमेशा सहेजे जाने वाले टैब के संग्रह की आवश्यकता होती है उपयोग किया गया।
उन सेटअपों को संग्रहीत करने और उन्हें ब्राउज़र में खोलने को स्वचालित करने के लिए एक स्प्रेडशीट का उपयोग करने से बहुत समय बच सकता है... और यह वास्तव में बहुत अच्छा है।
क्या आप अपने VBA अनुप्रयोगों में किसी भी प्रकार के IE स्वचालन का उपयोग करते हैं? एक्सेल से इस तरह के IE नियंत्रण के लिए कोई अन्य शांत उपयोग देखें? नीचे टिप्पणी अनुभाग में अपने विचार और प्रतिक्रिया साझा करें!
रयान के पास इलेक्ट्रिकल इंजीनियरिंग में बीएससी की डिग्री है। उन्होंने ऑटोमेशन इंजीनियरिंग में 13 साल, आईटी में 5 साल काम किया है, और अब एक एप्स इंजीनियर हैं। MakeUseOf के पूर्व प्रबंध संपादक, उन्होंने डेटा विज़ुअलाइज़ेशन पर राष्ट्रीय सम्मेलनों में बात की है और इसे राष्ट्रीय टीवी और रेडियो पर चित्रित किया गया है।