कॉपी VBA मॉड्यूल - एक्सेल टिप्स

विषय - सूची

मिशेल लिखते हैं:

हमने एक एक्सेल एप्लिकेशन विकसित किया है जो 54 ब्रोकरों में से प्रत्येक को वितरण के लिए एक अद्वितीय एक्सेल वर्कबुक बनाता है। मुझे दलालों को वितरित किए जाने वाले प्रत्येक 54 एक्सेल वर्कबुक में कई वीबीए मैक्रोज़ शामिल करने की आवश्यकता है। मैं मूल एक्सेल वर्कबुक से प्रत्येक नए एक्सेल वर्कबुक में VBA मॉड्यूल की प्रतिलिपि कैसे बना सकता हूं?

यह एक महान सवाल है, मिशेल। शीट्स () का उपयोग करना आसान है। नई वर्कबुक में किसी वर्कशीट को कॉपी करने के लिए कमांड को कॉपी करें, लेकिन नई वर्कबुक में किसी मॉड्यूल को कॉपी करना उतना आसान नहीं है। समाधान में मॉड्यूल को एक बार निर्यात करना शामिल है, और फिर उन्हें पूरा करने के लिए आपके प्रत्येक 54 ब्रोकर वर्कबुक में आयात करना। यहाँ समाधान के साथ आपके कोड का एक हिस्सा है।

' Delete any old stray copies of the module1 On Error Resume Next Kill ("C:MrXL1.bas") On Error GoTo 0 ' Export Module 1 ActiveWorkbook.VBProject.VBComponents("module1").Export ("c:MrXL1.bas") For x = 1 to 54 ThisBroker = Sheets("BrokerList").range("A" & x).value '… customization of plan omited for brevity Sheets(Array("Menu", "Plan")).Copy NBName = ActiveWorkbook.Name ' new book name ' Import Module 1 to this new book Application.VBE.ActiveVBProject.VBComponents.Import ("c:MrXL1.bas") ActiveWorkbook.SaveAs Filename:=ThisBroker ActiveWorkbook.Close Next x Kill ("C:MrXl1.bas")

VBE.ActiveProject.VBCompords.Export और VBE.ActiveProject.VBCompords… आयात आदेश मैक्रोज़ को नई पुस्तकों में कॉपी करने का ध्यान रखते हैं।

एक्सेल 2002 और नए में, आपको स्पष्ट रूप से एक मैक्रो को वर्कबुक में कोड जोड़ने की अनुमति देने की आवश्यकता है। उपकरण, मैक्रो, सुरक्षा पर जाएं। दूसरे टैब पर क्लिक करें: विश्वसनीय प्रकाशक। निचले बाएँ में, Visual Basic प्रोजेक्ट के लिए ट्रस्ट एक्सेस चुनें। एक्सेल 2007 में, ऑफिस आइकन, एक्सेल ऑप्शंस, ट्रस्ट सेंटर, ट्रस्ट सेंटर सेटिंग्स, मैक्रो सेटिंग्स पर जाएं और VBA प्रोजेक्ट ऑब्जेक्ट मॉडल में ट्रस्ट एक्सेस चुनें।

सावधान

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

दिलचस्प लेख...