क्लिपबोर्ड पर वीबीए कॉपी

यह आलेख प्रदर्शित करेगा कि क्लिपबोर्ड पर आइटम कॉपी करने के लिए वीबीए का उपयोग कैसे करें।

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

HTML ऑब्जेक्ट लाइब्रेरी का उपयोग करके क्लिपबोर्ड पर कॉपी करना

एक्सेल वीबीए में क्लिपबोर्ड का उपयोग करने का सबसे आसान तरीका एचटीएमएल ऑब्जेक्ट लाइब्रेरी को कॉल करना है।

1234567 उप स्टोरडेटा ()संस्करण के रूप में मंद varTextवस्तु के रूप में मंद objCPvarText = "कुछ कॉपी किए गए टेक्स्ट"objCP = CreateObject ("HtmlFile") सेट करेंobjCP.ParentWindow.ClipboardData.SetData "पाठ", varTextअंत उप

चूंकि हम ऑब्जेक्ट के रूप में परिवर्तनीय objCP घोषित करके देर से बाध्यकारी का उपयोग कर रहे हैं, इसलिए हमें इस प्रक्रिया को काम करने के लिए एक्सेल में संदर्भ जोड़ने की आवश्यकता नहीं है।

यदि हम अब अपने एक्सेल वर्कशीट पर स्विच करते हैं और पेस्ट पर क्लिक करते हैं, तो "कुछ कॉपी किए गए डेटा" टेक्स्ट को चयनित सेल में डाला जाएगा।

यदि हम उपरोक्त इस प्रक्रिया को एक फ़ंक्शन में बदलना चाहते हैं, तो हम पाठ को एक चर के रूप में कॉपी करने के लिए पास कर सकते हैं।

12345 फंक्शन StoreData(varText as Variant) स्ट्रिंग के रूप मेंवस्तु के रूप में मंद objCPobjCP = CreateObject ("HtmlFile") सेट करेंobjCP.ParentWindow.ClipboardData.SetData "पाठ", varTextअंत समारोह

तब हम अपने वीबीए कोड में इस फ़ंक्शन को कई बार कॉल कर सकते हैं जब हमें क्लिपबोर्ड पर टेक्स्ट कॉपी करने की आवश्यकता होती है। इसलिए पाठ को वीबीए कोड में हार्ड-कोड नहीं किया जाएगा।

123 उप कॉपीडाटा ()StoreData "कुछ कॉपी किए गए टेक्स्ट"अंत उप

हम क्लिपबोर्ड से टेक्स्ट को वापस करने के लिए HTML ऑब्जेक्ट का भी उपयोग कर सकते हैं - यानी पेस्ट करना। इसके लिए हम SetData पद्धति के बजाय GetData का उपयोग करते हैं।

12345 फंक्शन रिटर्नडाटा ()वस्तु के रूप में मंद objCPobjCP = CreateObject ("HtmlFile") सेट करेंरिटर्नडाटा = objCP.parentWindow.clipboardData.GetData("text")अंत समारोह

फिर हम क्लिपबोर्ड पर संग्रहीत डेटा को वापस करने के लिए इस फ़ंक्शन को कॉल कर सकते हैं।

123 उप पेस्टडेटा ()MsgBox रिटर्नडाटाअंत उप

एक साफ-सुथरी चाल 2 कार्यों को एक साथ जोड़ देगी ताकि हम डेटा को कॉपी और पेस्ट करने के लिए एक ही फ़ंक्शन का उपयोग कर सकें, यह इस बात पर निर्भर करता है कि हम क्लिपबोर्ड पर डेटा भेजते हैं या नहीं, या यदि हम क्लिपबोर्ड से डेटा पुनर्प्राप्त करना चाहते हैं।

1234567891011 फ़ंक्शन StoreOrReturnData (स्ट्रिंग के रूप में वैकल्पिक strText) स्ट्रिंग के रूप मेंसंस्करण के रूप में मंद varTextवस्तु के रूप में मंद objCPobjCP = CreateObject ("HtmlFile") सेट करेंvarText = strTextअगर strText "" तोobjCP.ParentWindow.ClipboardData.SetData "पाठ", varTextअन्यथाStoreOrReturnData = objCP.ParentWindow.ClipboardData.GetData("text")अगर अंतअंत समारोह

ऊपर दिए गए कोड में, हम strText वेरिएबल को वैकल्पिक बना सकते हैं - इसका मतलब है कि यदि हम डेटा कॉपी करना चाहते हैं, तो हम कॉपी किए जाने वाले टेक्स्ट को शामिल करेंगे, लेकिन अगर हम डेटा पेस्ट करना चाहते हैं, तो हम इसे बाहर कर देंगे।

फिर हम स्ट्रिंग वेरिएबल (strText) को एक वैरिएंट वैरिएबल को असाइन करेंगे ताकि इसे HTML फ़ाइल ऑब्जेक्ट की सेटडेटा विधि में संग्रहीत किया जा सके।

डेटा को कॉपी करने के लिए, हम इस प्रक्रिया का उपयोग कर सकते हैं, ध्यान दें कि हम कॉपी किए जाने वाले टेक्स्ट को शामिल कर रहे हैं।

123 उप कॉपीडाटा ()StoreOrReturnData "कुछ कॉपी किए गए टेक्स्ट"अंत उप

डेटा पेस्ट करने के लिए, हम इस प्रक्रिया का उपयोग कर सकते हैं। संदेश बॉक्स क्लिपबोर्ड पर संग्रहीत मान दिखाएगा।

123 उप पेस्टडेटा ()MsgBox StoreOrReturnDataअंत उप

आप साइट के विकास में मदद मिलेगी, अपने दोस्तों के साथ साझा करने पेज

wave wave wave wave wave