यह मार्गदर्शिका आपको के साथ काम करने से परिचित कराएगी वीबीए में वर्कबुक ऑब्जेक्ट।
कार्यपुस्तिका वस्तु
सबसे पहले, वीबीए में कार्यपुस्तिकाओं के साथ बातचीत करने के लिए, आपको समझना चाहिए कार्यपुस्तिका वस्तु.
कार्यपुस्तिका ऑब्जेक्ट के साथ, आप कार्यपुस्तिकाओं को उनके नाम से इस प्रकार संदर्भित कर सकते हैं:
1 | कार्यपुस्तिकाएं ("Book2.xlsm")। सक्रिय करें |
हालाँकि, यह कोड केवल तभी काम करेगा जब कार्यपुस्तिका खुली हो। यदि कार्यपुस्तिका बंद है, तो आपको पूर्ण कार्यपुस्तिका पथ प्रदान करने की आवश्यकता होगी:
1 | कार्यपुस्तिकाएं खोलें ("सी:\उपयोगकर्ता\स्टीवपीसी२\डाउनलोड\book2.xlsm") |
पूर्ण पथ टाइप करने के बजाय, यदि आपकी वांछित कार्यपुस्तिका उसी निर्देशिका में है जिसमें आपका कोड संग्रहीत है, तो आप कार्यपुस्तिका को खोलने के लिए इस लाइन कोड का उपयोग कर सकते हैं:
1 | कार्यपुस्तिकाएं खोलें (यह कार्यपुस्तिका.पथ और "\book2.xlsm") |
यह इस कार्यपुस्तिका वस्तु का उपयोग करता है जिसकी चर्चा हम अगले भाग में करेंगे।
कार्यपुस्तिका सूचकांक संख्या
अंत में, आप कार्यपुस्तिकाओं को उनके "इंडेक्स नंबर" द्वारा संदर्भित कर सकते हैं। किसी कार्यपुस्तिका की अनुक्रमणिका संख्या उस क्रम से मेल खाती है जिस क्रम में कार्यपुस्तिका खोली गई थी (तकनीकी रूप से यह कार्यपुस्तिका संग्रह में कार्यपुस्तिका की स्थिति है)।
1 | कार्यपुस्तिका (1)। सक्रिय करें |
यह उपयोगी है यदि आप पहली (या अंतिम) खुली कार्यपुस्तिका को बंद करने जैसा कुछ करना चाहते हैं।
कार्यपुस्तिका, सक्रिय कार्यपुस्तिका, और यह कार्यपुस्तिका सक्रिय करें
यदि कोई कार्यपुस्तिका है अक्रिय, आप कार्यपुस्तिका के ऑब्जेक्ट को इस तरह एक्सेस कर सकते हैं:
1 | कार्यपुस्तिकाएँ("Book2.xlsm")। शीट्स ("शीट 1")। रेंज ("A1")। मान = 1 |
हालाँकि, यदि कार्यपुस्तिका सक्रिय है, तो आप कार्यपुस्तिका ऑब्जेक्ट को छोड़ सकते हैं:
1 | शीट्स ("शीट 1")। रेंज ("ए 1")। मान = 1 |
और यदि आप कार्यपुस्तिका की सक्रिय शीट के साथ इंटरैक्ट करना चाहते हैं, तो आप शीट ऑब्जेक्ट को भी छोड़ सकते हैं:
1 | रेंज ("ए 1")। मान = 1 |
कार्यपुस्तिका सक्रिय करें
किसी कार्यपुस्तिका को सक्रिय करने के लिए, का उपयोग करें सक्रिय विधि.
1 | कार्यपुस्तिकाएं ("Book2.xlsm")। सक्रिय करें |
अब आप कार्यपुस्तिका का नाम स्पष्ट रूप से बताए बिना Book2 के ऑब्जेक्ट के साथ इंटरैक्ट कर सकते हैं।
सक्रिय कार्यपुस्तिका
NS सक्रिय कार्यपुस्तिका ऑब्जेक्ट हमेशा सक्रिय कार्यपुस्तिका को संदर्भित करता है। यह उपयोगी है यदि आप ActiveWorkbook को बाद में उपयोग करने के लिए एक चर के लिए असाइन करना चाहते हैं।
12 | कार्यपुस्तिका के रूप में मंद wbडब्ल्यूबी = एक्टिववर्कबुक सेट करें |
यह कार्यपुस्तिका
NS यह कार्यपुस्तिका ऑब्जेक्ट हमेशा उस कार्यपुस्तिका को संदर्भित करता है जहां रनिंग कोड संग्रहीत होता है। इस कार्यपुस्तिका को सक्रिय करने के लिए, कोड की इस पंक्ति का उपयोग करें:
1 | यह कार्यपुस्तिका। सक्रिय करें |
कार्यपुस्तिका खोलें
कार्यपुस्तिका खोलने के लिए, का उपयोग करें ओपन मेथड:
1 | कार्यपुस्तिकाएं खोलें ("सी:\उपयोगकर्ता\स्टीवपीसी२\डाउनलोड\book2.xlsm") |
नई खोली गई कार्यपुस्तिका हमेशा बन जाएगी सक्रिय कार्यपुस्तिका, जिससे आप इसके साथ आसानी से बातचीत कर सकते हैं।
1 | सक्रिय कार्यपुस्तिका। सहेजें |
ओपन मेथड में कई अन्य तर्क हैं, जिससे आप केवल-पढ़ने के लिए खोल सकते हैं, पासवर्ड से सुरक्षित कार्यपुस्तिका खोल सकते हैं, और बहुत कुछ कर सकते हैं। यह हमारे लेख में कार्यपुस्तिकाओं को खोलने / बंद करने के बारे में है।
वैरिएबल को खोलें और असाइन करें
आप एक कार्यपुस्तिका भी खोल सकते हैं और उसी समय एक चर को असाइन कर सकते हैं:
12 | कार्यपुस्तिका के रूप में मंद wbसेट wb = वर्कबुक.ओपन ("C:\Users\StevePC2\Downloads\book2.xlsm") |
फ़ाइल संवाद खोलें
आप इस तरह ओपन फाइल डायलॉग बॉक्स को भी ट्रिगर कर सकते हैं:
12345678 | उप ओपनवर्कबुक ()स्ट्रिंग के रूप में मंद strFilestrFile = Application.GetOpenFilename ()कार्यपुस्तिकाएँ। खोलें (strFile)अंत उप |
नई (जोड़ें) कार्यपुस्तिका बनाएं
कोड की यह पंक्ति एक नई कार्यपुस्तिका बनाएगी:
1 | कार्यपुस्तिकाएँ।जोड़ें |
नई कार्यपुस्तिका अब बन जाती है सक्रिय कार्यपुस्तिका, आपको इसके साथ सहभागिता करने की अनुमति देता है (उदा. नई कार्यपुस्तिका सहेजें)।
चर में नई कार्यपुस्तिका जोड़ें
आप एक चर में सीधे एक नई कार्यपुस्तिका भी जोड़ सकते हैं:
12 | कार्यपुस्तिका के रूप में मंद wbwb = कार्यपुस्तिकाएँ सेट करें। जोड़ें |
कार्यपुस्तिका बंद करें
बंद करें और सहेजें
बचत के साथ कार्यपुस्तिका को बंद करने के लिए, का उपयोग करें बंद विधि साथ परिवर्तनों को सुरक्षित करें सत्य पर सेट करें:
1 | ActiveWorkbook.Close SaveChanges:=True |
बिना सहेजे बंद करें
सहेजे बिना बंद करने के लिए, सेट करें परिवर्तनों को सुरक्षित करें FALSE के बराबर:
1 | ActiveWorkbook.Close SaveChanges:=False |
कार्यपुस्तिका इस रूप में सहेजें
NS सेव अस मेथड के रूप में कार्यपुस्तिका को सहेजने के लिए प्रयोग किया जाता है।
किसी कार्यपुस्तिका को एक नए नाम से सहेजने के लिए, उसी निर्देशिका में, आप इसका उपयोग कर सकते हैं:
1 | ActiveWorkbook.SaveAs "नया" |
जहां "नया" नया फ़ाइल नाम है।
किसी कार्यपुस्तिका को किसी विशिष्ट फ़ाइल एक्सटेंशन के साथ नई निर्देशिका में सहेजने के लिए, बस नई निर्देशिका और फ़ाइल नाम निर्दिष्ट करें:
1 | ActiveWorkbook.SaveAs "C:\Users\StevePC2\Downloads\new.xlsm" |
अन्य कार्यपुस्तिका VBA उदाहरण
कार्यपुस्तिका का नाम
कार्यपुस्तिका का नाम प्राप्त करने के लिए:
1 | MsgBox ActiveWorkbook.Name |
कार्यपुस्तिका को सुरक्षित रखें
कार्यपुस्तिका संरचना को संपादन से बचाने के लिए, आप इसका उपयोग कर सकते हैं रक्षा विधि (पासवर्ड वैकल्पिक):
1 | कार्यपुस्तिकाएं ("book1.xlsm")। "पासवर्ड" को सुरक्षित रखें |
किसी कार्यपुस्तिका को असुरक्षित करने के लिए का उपयोग करें असुरक्षित विधि:
1 | कार्यपुस्तिकाएं ("book1.xlsm")। असुरक्षित "पासवर्ड" |
सभी खुली कार्यपुस्तिकाओं के माध्यम से लूप
सभी खुली कार्यपुस्तिकाओं के माध्यम से लूप करने के लिए:
123456789 | उप लूपथ्रूडब्ल्यूबी ()कार्यपुस्तिका के रूप में मंद wbकार्यपुस्तिकाओं में प्रत्येक wb के लिएMsgBox wb.Nameअगला डब्ल्यूबीअंत उप |
कार्यपुस्तिका सक्रिय घटना
जब भी कोई विशिष्ट कार्यपुस्तिका खोली जाती है तो आप कुछ कोड चला सकते हैं वर्कबुक ओपन इवेंट.
इस कार्यविधि को अपनी कार्यपुस्तिका के ThisWorkbook मॉड्यूल में रखें:
123 | निजी उप कार्यपुस्तिका_ओपन ()पत्रक ("पत्रक 1")। सक्रिय करेंअंत उप |
यह प्रक्रिया सक्रिय हो जाएगी पत्रक 1 हर बार कार्यपुस्तिका खोली जाती है।