इस ट्यूटोरियल में, आप सीखेंगे कि एक्सेल वर्कबुक को कई तरीकों से खोलने और बंद करने के लिए वीबीए का उपयोग कैसे करें।
VBA आपको मानक विधियों का उपयोग करके फ़ाइलें खोलने या बंद करने की अनुमति देता है ।खोलना तथा ।बंद करे.
यदि आप यह जानना चाहते हैं कि फ़ाइल खोलने का प्रयास करने से पहले कोई फ़ाइल मौजूद है या नहीं, तो आप इस लिंक पर क्लिक कर सकते हैं: VBA फ़ाइल मौजूद है
वीबीए में एक वर्कबुक खोलें
पथ से कार्यपुस्तिका खोलें
यदि आप जानते हैं कि आप कौन सी फाइल खोलना चाहते हैं, तो आप फ़ंक्शन में इसका पूरा पथ नाम निर्दिष्ट कर सकते हैं। यहाँ कोड है:
1 | Workbooks.Open "C:\VBA Folder\Sample file 1.xlsx" |
कोड की यह पंक्ति "VBA फ़ोल्डर" से "नमूना फ़ाइल 1" फ़ाइल खोलती है।
कार्यपुस्तिका खोलें - सक्रिय कार्यपुस्तिका
जब आप कोई कार्यपुस्तिका खोलते हैं, तो वह स्वतः ही ActiveWorkbook बन जाती है। आप नई खोली गई कार्यपुस्तिका को इस प्रकार संदर्भित कर सकते हैं:
1 | सक्रिय कार्यपुस्तिका। सहेजें |
जब आप किसी पत्रक या श्रेणी का संदर्भ देते हैं और कार्यपुस्तिका के नाम को छोड़ देते हैं, तो VBA मान लेगा कि आप ActiveWorkbook की बात कर रहे हैं:
1 | शीट्स ("शीट 1")। नाम = "इनपुट" |
कार्यपुस्तिका खोलें और एक चर को असाइन करें
आप एक कार्यपुस्तिका भी खोल सकते हैं और इसे सीधे किसी ऑब्जेक्ट वेरिएबल को असाइन कर सकते हैं। यह प्रक्रिया एक कार्यपुस्तिका खोल देगी पश्चिम बंगाल चर और फिर कार्यपुस्तिका को सहेजें।
123456 | उप OpenWorkbookToVariable ()कार्यपुस्तिका के रूप में मंद wbसेट wb = वर्कबुक। ओपन ("सी: \ वीबीए फ़ोल्डर \ नमूना फ़ाइल 1.xlsx")डब्ल्यूबी.सेवअंत उप |
कार्यपुस्तिकाओं के खुलने पर उन्हें असाइन करना आपकी कार्यपुस्तिकाओं पर नज़र रखने का सबसे अच्छा तरीका है
वर्कबुक ओपन फाइल डायलॉग
आप कार्यपुस्तिका ओपन फाइल डायलॉग बॉक्स को भी ट्रिगर कर सकते हैं। यह उपयोगकर्ता को फ़ाइल पर नेविगेट करने और उसे खोलने की अनुमति देता है:
12345678 | उप ओपनवर्कबुक ()स्ट्रिंग के रूप में मंद strFilestrFile = Application.GetOpenFilename ()कार्यपुस्तिकाएँ। खोलें (strFile)अंत उप |
जैसा कि आप छवि 1 में देख सकते हैं, इस दृष्टिकोण के साथ उपयोगकर्ता चुन सकते हैं कि कौन सी फाइल खोलनी है। ओपन फाइल डायलॉग बॉक्स को भारी रूप से अनुकूलित किया जा सकता है। आप एक निश्चित फ़ोल्डर में डिफ़ॉल्ट रूप से चुन सकते हैं कि किस प्रकार की फाइलें दिखाई दे रही हैं (उदा… xlsx केवल), और बहुत कुछ। विस्तृत उदाहरणों के लिए ओपन फाइल डायलॉग बॉक्स पर हमारा ट्यूटोरियल पढ़ें।
नई कार्यपुस्तिका खोलें
कोड की यह पंक्ति एक नई कार्यपुस्तिका खोलेगी:
1 | कार्यपुस्तिकाएँ।जोड़ें |
चर के लिए नई कार्यपुस्तिका खोलें
यह प्रक्रिया एक नई कार्यपुस्तिका खोलेगी, जो इसे चर wb को निर्दिष्ट करेगी:
1234 | उप ओपनन्यूवर्कबुक ()कार्यपुस्तिका के रूप में मंद wbwb = कार्यपुस्तिकाएँ सेट करें। जोड़ेंअंत उप |
कार्यपुस्तिका सिंटैक्स खोलें
जब आप कार्यपुस्तिका का उपयोग करते हैं। खोलें तो आप देख सकते हैं कि कार्यपुस्तिका खोलते समय कई विकल्प उपलब्ध हैं:
फ़ाइलनाम आवश्यक है। अन्य सभी तर्क वैकल्पिक हैं - और संभवतः आपको अधिकांश अन्य तर्कों को जानने की आवश्यकता नहीं होगी। यहाँ दो सबसे आम हैं:
केवल-पढ़ने के लिए कार्यपुस्तिका खोलें
जब कार्यपुस्तिका केवल-पढ़ने के लिए खोली जाती है, तो आप मूल फ़ाइल को सहेज नहीं सकते। यह फ़ाइल को उपयोगकर्ता द्वारा संपादित होने से रोकता है।
1 | Workbooks.Open "C:\VBA Folder\Sample file 1.xlsx", , True |
पासवर्ड संरक्षित कार्यपुस्तिका खोलें
एक कार्यपुस्तिका पासवर्ड से सुरक्षित हो सकती है। पासवर्ड-संरक्षित कार्यपुस्तिका खोलने के लिए इस कोड का उपयोग करें:
1 | Workbooks.Open "C:\VBA Folder\Sample file 1.xlsx", , , "password" |
वर्कबुक सिंटेक्स नोट्स खोलें
ध्यान दें कि ऊपर की छवि में, हमने वाक्य रचना दिखाने के लिए एक कोष्ठक "(" शामिल किया है। यदि आप कार्यपुस्तिकाओं के साथ काम करते समय कोष्ठक का उपयोग करते हैं। खोलें, आपको कार्यपुस्तिका को एक चर के लिए असाइन करना होगा:
1234 | उप ओपनडब्ल्यूबी ()कार्यपुस्तिका के रूप में मंद wbसेट wb = वर्कबुक। ओपन ("सी: \ वीबीए फ़ोल्डर \ नमूना फ़ाइल 1.xlsx", ट्रू, ट्रू)अंत उप |
वीबीए में एक कार्यपुस्तिका बंद करें
विशिष्ट कार्यपुस्तिका बंद करें
इसी तरह किसी कार्यपुस्तिका को खोलने के लिए, फ़ाइल को बंद करने के कई तरीके हैं। यदि आप जानते हैं कि आप किस फाइल को बंद करना चाहते हैं, तो आप निम्न कोड का उपयोग कर सकते हैं:
1 | कार्यपुस्तिकाएं बंद करें ("सी: \ वीबीए फ़ोल्डर \ नमूना फ़ाइल 1.xlsx") |
कोड की यह पंक्ति फ़ाइल "नमूना फ़ाइल 1" को खोले जाने पर बंद कर देती है। यदि नहीं, तो यह एक त्रुटि लौटाएगा, इसलिए आपको त्रुटि प्रबंधन का ध्यान रखना चाहिए।
सक्रिय कार्यपुस्तिका बंद करें
यदि आप वर्तमान में सक्रिय कार्यपुस्तिका को बंद करना चाहते हैं, तो कोड की यह पंक्ति आपको ऐसा करने में सक्षम करेगी:
1 | सक्रिय कार्यपुस्तिका। बंद करें |
सभी खुली कार्यपुस्तिकाएं बंद करें
सभी खुली हुई कार्यपुस्तिकाओं को बंद करने के लिए, आप बस इस कोड का उपयोग कर सकते हैं:
1 | कार्यपुस्तिकाएं बंद करें |
पहले खोली गई कार्यपुस्तिका को बंद करें
यह पहली खुली/बनाई गई कार्यपुस्तिका को बंद कर देगा:
1 | कार्यपुस्तिका (1)। बंद करें |
दूसरी खुली/बनाई गई कार्यपुस्तिका आदि को बंद करने के लिए 1 को 2 से बदलें।
सहेजे बिना बंद करें
यह बिना सहेजे और सेव प्रॉम्प्ट दिखाए बिना कार्यपुस्तिका को बंद कर देगा:
1 | ActiveWorkbook.Cose savechanges:=False |
बिना संकेत के सहेजें और बंद करें
इसी तरह यह सेव प्रॉम्प्ट दिखाए बिना वर्कबुक को सेव और बंद कर देगा:
1 | ActiveWorkbook.Close savechanges:=True |
नोट: कार्यपुस्तिका को सहेजना है या नहीं यह इंगित करने के कई अन्य तरीके हैं और यह भी कि संकेत दिखाना है या नहीं। इस पर यहां और अधिक विस्तार से चर्चा की गई है।
अन्य कार्यपुस्तिका ओपन उदाहरण
एकाधिक नई कार्यपुस्तिकाएं खोलें
यह प्रक्रिया नई कार्यपुस्तिकाओं को एक सरणी में निर्दिष्ट करते हुए कई नई कार्यपुस्तिकाएं खोलेगी:
12345678 | उप OpenMultipleNewWorkbooks ()मंद गिरफ्तारी Wb(3) कार्यपुस्तिका के रूप मेंडिम आई अस इंटीजरमैं = 1 से 3 . के लिएगिरफ्तारी सेट करें (i) = कार्यपुस्तिकाएं। जोड़ेंअगला मैंअंत उप |
सभी एक्सेल वर्कबुक को एक फोल्डर में खोलें
यह प्रक्रिया ओपन फाइल डायलॉग पिकर का उपयोग करके सभी एक्सेल वर्कबुक को एक फोल्डर में खोल देगी।
12345678910111213141516 | उप OpenMultipleWorkbooksInFolder ()कार्यपुस्तिका के रूप में मंद wbFileDialog के रूप में मंद dlgFDस्ट्रिंग के रूप में मंद strFolderस्ट्रिंग के रूप में मंद strFileNamedlgFD = Application.FileDialog (msoFileDialogFolderPicker) सेट करेंअगर dlgFD.Show = -1 तोstrFolder = dlgFD.SelectedItems(1) & Application.PathSeparatorstrFileName = Dir(strFolder & "*.xls*")जबकि strFileName "" करेंसेट wb = वर्कबुक। ओपन (strFolder और strFileName)strFileName = डिरकुंडलीअगर अंतअंत उप |
जांचें कि क्या कोई कार्यपुस्तिका खुली है
यह प्रक्रिया परीक्षण करेगी कि क्या कोई कार्यपुस्तिका खुली है:
1234567891011 | सब टेस्ट बायवर्कबुकनाम ()कार्यपुस्तिका के रूप में मंद wbकार्यपुस्तिकाओं में प्रत्येक wb के लिएअगर wb.Name = "नया माइक्रोसॉफ्ट एक्सेल वर्कशीट.xls" तोMsgBox "इसे मिला"उप 'कॉल कोड यहां से बाहर निकलें, हम अभी बाहर निकलेंगेअगर अंतअगलाअंत उप |
वर्कबुक_ओपन इवेंट
वीबीए इवेंट "ट्रिगर" हैं जो वीबीए को कुछ कोड चलाने के लिए कहते हैं। आप कार्यपुस्तिका ईवेंट को ओपन, क्लोज, सेव करने से पहले, सेव करने के बाद आदि के लिए सेट कर सकते हैं।
कार्यपुस्तिका खोले जाने पर मैक्रोज़ को स्वचालित रूप से चलाने के बारे में अधिक जानने के लिए हमारा वर्कबुक_ओपन इवेंट ट्यूटोरियल पढ़ें।