यह ट्यूटोरियल प्रदर्शित करेगा कि वीबीए में वर्कबुक नाम कैसे प्राप्त करें और सेट करें।
हम वीबीए में सक्रिय कार्यपुस्तिका का नाम प्राप्त या सेट कर सकते हैं, या एक्सेल में सभी खुली कार्यपुस्तिकाओं के माध्यम से लूप कर सकते हैं, और वीबीए लूप का उपयोग करके उनमें से प्रत्येक का नाम प्राप्त या सेट कर सकते हैं।
कार्यपुस्तिका का नाम प्राप्त करें
सक्रिय कार्यपुस्तिका का नाम प्राप्त करने के लिए, हमें कार्यपुस्तिका ऑब्जेक्ट की नाम संपत्ति का उपयोग करने की आवश्यकता है।
12345 | उप GetWorkbookName ()स्ट्रिंग के रूप में मंद strWBNamestrWBName = ActiveWorkbook.NameMsgBox strWBNameअंत उप |
यदि हम ऊपर दिए गए कोड को चलाते हैं, तो हम स्क्रीन पर सक्रिय कार्यपुस्तिका के नाम से एक संदेश बॉक्स दिखाई देंगे।
सभी सक्रिय कार्यपुस्तिकाओं के माध्यम से लूप करने के लिए, और कार्यपुस्तिकाओं के नाम एक्सेल में वापस करने के लिए, हम निम्नलिखित कोड चला सकते हैं:
1234567 | उप GetWorkbookNames ()कार्यपुस्तिका के रूप में मंद wbकार्यपुस्तिकाओं में प्रत्येक wb के लिएएक्टिवसेल = wb.NameActiveCell.Offset(1, 0)। चुनेंअगलाअंत उप |
ऊपर दिए गए उदाहरणों में फ़ाइल का विस्तार (जैसे xlsx) शामिल होगा। यदि आप एक्सटेंशन को शामिल नहीं करना चाहते हैं, तो कुछ तरीके हैं जिनका उपयोग हम केवल कार्यपुस्तिका का फ़ाइल नाम प्राप्त करने के लिए कर सकते हैं।
विस्तार के बिना कार्यपुस्तिका का नाम प्राप्त करें
हम फ़ाइल नाम में अवधि के बाद किसी भी वर्ण को हटाने के लिए LEFT और INSTR फ़ंक्शंस का उपयोग कर सकते हैं:
12345 | उप GetWorkbookName ()स्ट्रिंग के रूप में मंद strWBNamestrWBName = वाम (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, "।") - 1)MsgBox strWBNameअंत उप |
हम फ़ाइल नाम के अंत से 5 वर्णों को हटाने के लिए LEFT और LEN फ़ंक्शंस का उपयोग कर सकते हैं:
12345 | उप GetWorkbookName ()स्ट्रिंग के रूप में मंद strWBNamestrWBName = बायाँ (ActiveWorkbook.Name, लेन (ActiveWorkbook.Name) - 55)MsgBox strWBNameअंत उप |
कार्यपुस्तिका का नाम सेट करना
VBA में किसी कार्यपुस्तिका का नाम सेट करने के लिए, हम अभी भी कार्यपुस्तिका के नाम गुण का उपयोग करते हैं, हालाँकि हम सक्रिय कार्यपुस्तिका का नाम बदलने के लिए इस पद्धति का उपयोग नहीं कर सकते हैं। यह इस तथ्य के कारण है कि सक्रिय कार्यपुस्तिका खुली है, और एक फ़ाइल पहुँच त्रुटि उत्पन्न होगी। इसे दूर करने के लिए हम फाइल को नए नाम से सेव कर सकते हैं और फिर पुरानी फाइल को डिलीट कर सकते हैं।
12345678910 | सार्वजनिक उप सेटवर्कबुकनाम ()स्ट्रिंग के रूप में मंद strPathस्ट्रिंग के रूप में मंद strNewNameस्ट्रिंग के रूप में मंद strOldNamestrOldName = ActiveWorkbook.NamestrNewName = InputBox ("कृपया कार्यपुस्तिका के लिए नया नाम दर्ज करें")strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath और "/" और strNewNamestrPath को मारें और "/" और strOldNameअंत उप |
एक कार्यपुस्तिका का नाम बदलने के लिए जो खुली नहीं है, हम नाम पद्धति का उपयोग कर सकते हैं।
123 | सार्वजनिक उप नाम बदलें कार्यपुस्तिका ()नाम "C:\Data\MyFile.xlsx" के रूप में "C:\Data\MyNewFile.xlsx"अंत उप |