यह ट्यूटोरियल आपको सिखाएगा कि VBA में सेट स्टेटमेंट का उपयोग करके ऑब्जेक्ट वेरिएबल्स को कैसे परिभाषित किया जाए।
वस्तु चर को परिभाषित करना
वस्तुएँ Microsoft Office की आधारशिला हैं - वस्तुओं के बिना, हम कुछ भी हासिल नहीं कर सकते। एक्सेल में, ऑब्जेक्ट्स में वर्कबुक, वर्कशीट या रेंज ऑब्जेक्ट्स शामिल होते हैं। Microsoft Word में, उदाहरण दस्तावेज़ या तालिका ऑब्जेक्ट हैं। प्रत्येक वस्तु की एक किस्म होती है गुण तथा तरीकों जिसे उस वस्तु के व्यवहार को नियंत्रित करने के लिए प्रोग्राम किया जा सकता है।
वस्तु चर घोषित करना
इससे पहले कि हम ऑब्जेक्ट को कोड में संदर्भित कर सकें, और इसलिए ऑब्जेक्ट को नियंत्रित कर सकें, हमें ऑब्जेक्ट को घोषित करने की आवश्यकता है। हम डिम स्टेटमेंट का उपयोग करके ऐसा कर सकते हैं।
123456 | कार्यपुस्तिका के रूप में मंद wkbवर्कशीट के रूप में डिम wksरेंज के रूप में मंद Rngदस्तावेज़ के रूप में मंद wdDocतालिका के रूप में मंद wdTblआकार के रूप में मंद shp |
इस धुंधला घोषणा एक प्रक्रिया के अंदर हो सकती है:
या मॉड्यूल-स्तर पर एक प्रक्रिया के बाहर:
यदि चर मॉड्यूल-स्तर (प्रक्रिया के बाहर) पर घोषित किया गया है, तो चर का उपयोग पूरे मॉड्यूल में किया जा सकता है।
यदि ऑब्जेक्ट वेरिएबल को पब्लिक स्टेटमेंट के साथ घोषित किया जाता है तो वेरिएबल का उपयोग पूरे VBA प्रोजेक्ट में किया जा सकता है:
मूल्य ते करना
एक बार जब आप ऑब्जेक्ट घोषित कर देते हैं, तो आपको ऑब्जेक्ट को एक मान निर्दिष्ट करने की आवश्यकता होती है। यह का उपयोग करके किया जाना चाहिए बयान सेट करें और केवल a . के भीतर ही किया जा सकता है प्रक्रिया.
12345 | उप सेटऑब्जेक्ट्स ()सेट wkb = ActiveWorkbookसेट wks = पत्रक1सेट आरएनजी = रेंज ("ए 1: जी 4")अंत उप |
नोट: यह गैर-ऑब्जेक्ट चरों को मान निर्दिष्ट करने से अलग है। ऑब्जेक्ट को वेरिएबल को असाइन करने के लिए आपको सेट स्टेटमेंट का उपयोग करना होगा। यदि आप नहीं करते हैं, तो आपको एक त्रुटि प्राप्त होगी:
एक बार जब आप ऑब्जेक्ट को मान असाइन कर लेते हैं, तो आप व्यवहार को नियंत्रित करने या ऑब्जेक्ट में हेरफेर करने के लिए कोड लिख सकते हैं।
वीबीए प्रोग्रामिंग | कोड जेनरेटर आपके लिए काम करता है!
एक्सेल में ऑब्जेक्ट उदाहरण
कार्यपुस्तिका वस्तु
एक बार जब आप एक कार्यपुस्तिका चर घोषित कर देते हैं, तो आप उस ऑब्जेक्ट को एक कार्यपुस्तिका असाइन कर सकते हैं और उस ऑब्जेक्ट में हेरफेर करने के लिए उपलब्ध गुणों और विधियों का उपयोग कर सकते हैं। नीचे दिए गए उदाहरण में हम एक वर्कबुक को सेव करने जा रहे हैं।
123456789101112 | उप कार्यपुस्तिकाऑब्जेक्ट ()'कार्यपुस्तिका वस्तु घोषित करें'कार्यपुस्तिका के रूप में मंद wkb'ऑब्जेक्ट को एक सहेजी न गई कार्यपुस्तिका असाइन करें'सेट wkb = वर्कबुक ("बुक 1")'कार्यपुस्तिका सहेजें'wkb.SaveAs "C:\data\testbook.xlsx"'कार्यपुस्तिका बंद करें'डब्ल्यूकेबी.करीब'ऑब्जेक्ट जारी करना याद रखें'सेट wkb = कुछ नहींअंत उप |
वर्कशीट ऑब्जेक्ट
वर्कशीट को वैरिएबल के रूप में घोषित करने के बाद इसी तरह आप वर्कशीट या वर्कशीट में हेरफेर कर सकते हैं। नीचे दिए गए उदाहरण में, हम शीट1 और शीट2 का नाम बदलते हैं।
12345678910111213 | उप वर्कशीटऑब्जेक्ट ()वर्कशीट के रूप में मंद wks1वर्कशीट के रूप में मंद wks2'वस्तुओं को प्रारंभ करें'सेट करें wks1 = पत्रक1सेट करें wks2 = पत्रक2'चादरें का नाम बदलें'wks1.Name = "ग्राहक"wks2.Name = "उत्पाद"'वस्तुओं को कुछ भी नहीं पर सेट करें'wks1 = कुछ नहींwks2 = कुछ नहींअंत उप |
VBA कोड उदाहरण खोज कर थक गए हैं? ऑटोमैक्रो का प्रयास करें!
रेंज ऑब्जेक्ट
रेंज ऑब्जेक्ट एक्सेल में हेरफेर करने के लिए सबसे उपयोगी वस्तुओं में से एक है। नीचे दिए गए उदाहरण में, हम रेंज A1 से E1 तक बोल्ड करते हैं और इसे नीचे की सीमा के साथ प्रारूपित करते हैं।
12345678910111213 | उप रेंजऑब्जेक्ट ()मंद rng1 रेंज के रूप में'रेंज को इनिशियलाइज़ करें'सेट आरएनजी = रेंज ("ए 1: ई 1")'रेंज को बोल्ड करें और बॉटम बॉर्डर सेट करें'rng.Font.Bold = Truerng1.Borders (xlEdgeBottom) के साथ.लाइन स्टाइल = xlContinuousरंग सूचकांक = 0टिंटएंडशेड = 0वजन = xl पतलाके साथ समाप्त करनाअंत उप |
आकार वस्तु
आप आकृतियों के साथ काम करने के लिए ऑब्जेक्ट वेरिएबल्स का भी उपयोग कर सकते हैं।
123456789101112 | उप AddShape ()आकार के रूप में मंद shp'आकार बनाएं'सेट shp = ActiveDocument.Shapes.AddShape(msoShapeSmileyFace, 68.25, 225.75, 136.5, 96#)shp के साथ'रंग और शैली के अंदर बदलें'.Fill.ForeColor.RGB = RGB (255, 255, 0).भरें।ठोस'मुस्कान समायोजित करें!.समायोजन.आइटम(1) = ०.०७१८१के साथ समाप्त करनाअंत उप |