एक्सेल VBA ऑब्जेक्ट कोड और डेटा से बनी एकल "इकाइयाँ" को संदर्भित करता है। एक्सेल एप्लिकेशन अपने आप में एक ऑब्जेक्ट है, जैसे वर्कबुक, वर्कशीट, सेल रेंज और शेप। प्रत्येक वस्तु में संबद्ध गुण और विधियाँ होती हैं। ऑब्जेक्ट में अन्य ऑब्जेक्ट भी हो सकते हैं और संग्रह ऑब्जेक्ट का उपयोग उसी एक्सेल ऑब्जेक्ट के समूह को संदर्भित करने के लिए किया जाता है।
इस ट्यूटोरियल में, हम कुछ सामान्य रूप से उपयोग किए जाने वाले एक्सेल ऑब्जेक्ट्स को देखने जा रहे हैं।
आवेदन वस्तु
एप्लिकेशन ऑब्जेक्ट संपूर्ण एक्सेल एप्लिकेशन को संदर्भित करता है। एप्लिकेशन ऑब्जेक्ट में कार्यपुस्तिका ऑब्जेक्ट होता है।
एक्सेल विंडो को उपलब्ध अधिकतम आकार में सेट करने के लिए निम्न कोड एप्लिकेशन ऑब्जेक्ट की विंडोस्टेट प्रॉपर्टी का उपयोग करता है:
12345 | उप MaximizingTheExcelWindow ()एप्लीकेशन.विंडोस्टेट = xlMaximizedअंत उप |
कार्यपुस्तिका वस्तु
वर्कबुक ऑब्जेक्ट सभी वर्तमान में खुली एक्सेल वर्कबुक के संग्रह को संदर्भित करता है।
निम्न कोड कार्यपुस्तिका का उपयोग करता है। एक नई कार्यपुस्तिका बनाने के लिए विधि जोड़ें और इसे संग्रह में जोड़ें:
12345 | उप जोड़नाANewWorkbookToTheWorkbooksCollection ()कार्यपुस्तिकाएँ।जोड़ेंअंत उप |
आप कार्यपुस्तिका संग्रह में किसी व्यक्तिगत कार्यपुस्तिका को उसकी अनुक्रमणिका संख्या या नाम के माध्यम से एक्सेस कर सकते हैं। तो आप कार्यपुस्तिका ("ExcelWB") का उपयोग करके ExcelWb नामक कार्यपुस्तिका का उल्लेख कर सकते हैं।
कार्यपुस्तिका वस्तु
कार्यपुस्तिका ऑब्जेक्ट कार्यपुस्तिका संग्रह का हिस्सा है। कार्यपुस्तिका ऑब्जेक्ट में कार्यपत्रक संग्रह (कार्यपत्रक) और पत्रक संग्रह (कार्यपत्रक, चार्ट पत्रक और मैक्रोशीट) शामिल हैं। ActiveWorkbook ऑब्जेक्ट उस कार्यपुस्तिका को संदर्भित करता है जो सक्रिय है।
वर्तमान सक्रिय कार्यपुस्तिका को सहेजने के लिए निम्न कोड ActiveWorkbook.Save विधि का उपयोग करता है:
12345 | सब सेविंग द वर्कबुक ()सक्रिय कार्यपुस्तिका। सहेजेंअंत उप |
पत्रक वस्तु
शीट्स ऑब्जेक्ट एक कार्यपुस्तिका में सभी वर्कशीट, चार्ट शीट और मैक्रोशीट के संग्रह को संदर्भित करता है। निम्न कोड पत्रक का उपयोग करता है। कार्यपुस्तिका में अंतिम कार्यपत्रक के बाद, अतिरिक्त शीट नामक एक नई कार्यपत्रक जोड़ने के लिए विधि जोड़ें:
123456 | उप जोड़नाANewSheet ()ActiveWorkbook.Sheets.Add(बाद:=ActiveWorkbook.Worksheets(Worksheets.Count), Count:=1, _प्रकार: = xl वर्कशीट)। नाम = "अतिरिक्त पत्रक"अंत उप |
शीट्स के सिंटैक्स पर ध्यान दें। जोड़ें विधि है:
पत्रक। जोड़ें (पहले, बाद में, गिनती, प्रकार) कहां:
-पहले वैकल्पिक है और निर्दिष्ट करता है कि नई शीट को मौजूदा शीट से पहले जोड़ा जाना चाहिए।
-आफ्टर वैकल्पिक है और निर्दिष्ट करता है कि नई शीट को मौजूदा शीट के बाद जोड़ा जाना चाहिए।
-गणना वैकल्पिक है और जोड़ने के लिए शीट की संख्या निर्दिष्ट करता है।
-टाइप वैकल्पिक है और शीट प्रकार निर्दिष्ट करता है। xl वर्कशीट एक नई वर्कशीट जोड़ देगा, xlChart एक नई चार्ट शीट जोड़ देगा, और xlExcel4MacroSheet या xlExcel4IntlMacroSheet एक नई मैक्रोशीट जोड़ देगा। यदि खाली है तो डिफ़ॉल्ट xlWorksheet का उपयोग किया जाता है।
आप शीट्स के संग्रह में एक व्यक्तिगत शीट को उसकी अनुक्रमणिका संख्या या नाम के माध्यम से एक्सेस कर सकते हैं। तो आप शीट्स ("शीटऑन") का उपयोग करके शीटऑन नामक वर्कशीट का उल्लेख कर सकते हैं।
कार्यपत्रक वस्तु
कार्यपत्रक ऑब्जेक्ट किसी कार्यपुस्तिका में सभी कार्यपत्रकों के संग्रह को संदर्भित करता है। निम्न कोड कार्यपत्रकों का उपयोग करता है। नई कार्यपत्रक जोड़ने के लिए विधि जोड़ें:
12345 | उप जोड़नाANewSheet ()कार्यपत्रक।जोड़ेंअंत उप |
आप वर्कशीट संग्रह में एक व्यक्तिगत शीट को उसके इंडेक्स नंबर या नाम के माध्यम से एक्सेस कर सकते हैं। तो आप वर्कशीट ("शीटटू") का उपयोग करके शीटटू नामक वर्कशीट का उल्लेख कर सकते हैं।
वर्कशीट ऑब्जेक्ट
वर्कशीट ऑब्जेक्ट वर्कशीट संग्रह का हिस्सा है। वर्कशीट ऑब्जेक्ट में रेंज ऑब्जेक्ट और अन्य ऑब्जेक्ट होते हैं। ActiveSheet ऑब्जेक्ट उस शीट को संदर्भित करता है जो सक्रिय है।
निम्नलिखित कोड सक्रिय शीट के पृष्ठ अभिविन्यास को परिदृश्य में बदलता है:
12345 | सब चेंजिंग ओरिएंटेशन टू लैंडस्केप ()एक्टिवशीट.पेजसेटअप.ओरिएंटेशन = xlलैंडस्केपअंत उप |
ध्यान दें कि शीट ऑब्जेक्ट में पेजसेटअप ऑब्जेक्ट होता है और इसकी ओरिएंटेशन प्रॉपर्टी xlLandscape पर सेट होती है।
रेंज ऑब्जेक्ट
रेंज ऑब्जेक्ट किसी कार्यपत्रक में एकल कक्ष या कक्षों के समूह को संदर्भित कर सकता है। निम्न कोड आपको दिखाता है कि रेंज का उपयोग कैसे करें। कक्षों A1:B1 का चयन करने के लिए विधि का चयन करें:
12345 | उप चयन श्रेणी ()रेंज ("ए 1: बी 1")। चुनेंअंत उप |
आकार वस्तु
शेप्स ऑब्जेक्ट वर्कशीट में सभी आकृतियों के संग्रह को संदर्भित करता है। निम्नलिखित कोड ActiveSheet पर सभी आकृतियों का चयन करेगा:
12345 | उप चयन AllTheShapes ()ActiveSheet.Shapes.SelectAllअंत उप |
आकार वस्तु
आकार वस्तु आकार संग्रह का हिस्सा है। निम्नलिखित कोड एक गोल आयत आकार बनाएगा और फिर आकृति वस्तु का नाम गुण सेट करेगा:
123456789 | उप का उपयोग TheShapeObject ()वर्कशीट्स के साथ (1)। आकृतियाँ। एडशेप (एमएसओ शेप राउंडेड आयत, _200, 100, 80, 80)नाम = "एक गोल आयत"के साथ समाप्त करनाअंत उप |
एक्सेल वीबीए ऑब्जेक्ट मॉडल
एक्सेल का वीबीए ऑब्जेक्ट मॉडल उन सभी वस्तुओं के पदानुक्रम का वर्णन करता है जिनका आप एक्सेल में उपयोग कर सकते हैं। उदाहरण के लिए, आप अन्य सभी ऑब्जेक्ट को परोक्ष या प्रत्यक्ष रूप से संदर्भित करने के लिए कार्यपुस्तिका ऑब्जेक्ट का उपयोग कर सकते हैं। निम्न कोड आपको दिखाता है कि पदानुक्रमित संरचना का उपयोग करके सेल A1 का चयन कैसे करें:
12345 | उप का उपयोग कर पदानुक्रमित संरचना ()वर्कबुक्स ("बुक 1")। वर्कशीट्स ("शीट 1")। रेंज ("ए 1")। चुनेंअंत उप |
ऑब्जेक्ट वैरिएबल घोषित करना और असाइन करना
आप डिम और सेट कीवर्ड का उपयोग करके किसी वैरिएबल को ऑब्जेक्ट घोषित और असाइन कर सकते हैं।
उदाहरण के लिए:
12 | वर्कशीट के रूप में डिम WSws सेट करें = ActiveWorkbook.ActiveSheet |
निम्न कोड आपको दिखाता है कि एक रेंज ऑब्जेक्ट को एक चर के लिए कैसे घोषित और असाइन किया जाए:
12345678910111213141516 | उप-असाइनिंगARangeToAVariable()मंद rngOne वस्तु के रूप मेंसेट rngOne = रेंज ("ए 1: सी 1")rngOne.Font.Bold = Trueरिंगवन के साथ.Font.Bold = True.Font.Name = "कैलिबर"फ़ॉन्ट आकार = 9फ़ॉन्ट। रंग = आरजीबी (35, 78, 125)आंतरिक। रंग = आरजीबी (205, 224, 180).Borders(xlEdgeBottom).LineStyle = xlContinuousके साथ समाप्त करनाअंत उप |
परिणाम है:
यह समझना आवश्यक है कि वस्तुएं VBA में महारत हासिल करने के लिए कैसे काम करती हैं। आप हमारे इंटरएक्टिव वीबीए ट्यूटोरियल के साथ और जान सकते हैं।