2012-10-18 18 views
8

यदि कोई "शीट्स" ("शीट 1", "शीट 2" इत्यादि) में "यह वर्कबुक" और "मॉड्यूल" ("मॉड्यूल 1" आदि) में वीबीए कोड चलाता है तो इससे क्या फर्क पड़ता है?यदि कोई "शीट्स" में "यह वर्कबुक" में और "मॉड्यूल" में वीबीए कोड चलाता है तो इससे क्या फर्क पड़ता है?

दूसरे शब्दों में, किस मामले में किस मामले का उपयोग किया जाना चाहिए?

enter image description here

उत्तर

0

मैं कम से कम पता है कि Modules चलाने के लिए है और ThisWorkBook घटनाओं ऐसे SheetChange घटना आदि के रूप में

आम कोड ThisWorkBook में थूक से बाहर के लिए प्रयोग किया जाता है: इस सवाल

Private Sub Workbook_Open() 

End Sub 

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 

End Sub 

यहां पहले से ही उत्तर दिया गया है:

http://www.pcreview.co.uk/forums/macro-module-function-sub-and-workbook-and-sheets-t980275.html

10

एक मॉड्यूल समान कार्य और उप दिनचर्या, उनकी कार्यक्षमता के मामले में आम तौर पर वर्गीकृत किया का एक संग्रह है।

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

Option Private Module, जो मॉड्यूल में ही निजी किसी भी मानक मॉड्यूल के शीर्ष करने के लिए जोड़ा जा सकता है करता है, लेकिन एक वस्तु मॉड्यूल, ThisWorkbook, या पत्रक 1 की तरह पर अनुमति नहीं है, आदि


ThisWorkbook है कार्यपुस्तिका वस्तु का निजी मॉड्यूल। उदाहरण के लिए, कार्यपुस्तिका_ऑपेन(), वर्कबुक_Close() दिनचर्या, इस मॉड्यूल के भीतर रहते हैं। (Workbook Object Reference)


इसी तरह, पत्रक 1, Sheet2 अलग-अलग शीट के निजी मॉड्यूल हैं। उनमें, आप उस शीट के लिए विशिष्ट कार्यों में डाल देंगे। Worksheet_Activate, Worksheet_Deactivate, Workbook_SheetChange, आपको दिए गए डिफ़ॉल्ट घटनाओं रहे हैं, ताकि आप उन्हें संभाल कर सकते हैं, संबंधित निजी चादर मॉड्यूल के भीतर। (Worksheet Object Reference)

@Daniel कुक के रूप में टिप्पणी में कहा है, जबकि ThisWorkbook और वर्कशीट के मॉड्यूल subName() या functionName() मॉड्यूल के बाहर के रूप में प्रत्यक्ष उपयोग के लिए उपलब्ध नहीं हैं, यह अभी भी ThisWorkbook.subName() या ThisWorkbook.functionName() का उपयोग कर उन्हें कॉल करने के लिए संभव है


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

+0

+1 अच्छा विवरण –

+0

जब मैं ने कहा, "निजी मॉड्यूल", मेरा मतलब यह नहीं था कि अपने कार्यों और तरीकों के बाहर से पहुंच से बाहर हो जाएगा। बस वह मॉड्यूल वर्कशीट या वर्कबुक ऑब्जेक्ट से संबंधित है। एक्सेसिबिलिटी केवल सार्वजनिक/निजी का उपयोग करके विधियों और सबराउटिन के लिए सेट की गई है। –

+0

आप जीतते हैं, मेरी टिप्पणी अनुपयोगी है और मैं इसे हटा रहा हूं ... और मैं इसे जल्द ही हटा दूंगा। –

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