यह ट्यूटोरियल कवर करेगा कि उपयोगकर्ताओं को संदेशबॉक्स प्रदर्शित करने के लिए VBA MsgBox फ़ंक्शन का उपयोग कैसे करें (YesNo Messagebox सहित)। इनपुटबॉक्स पर हमारे लेख में भी आपकी रुचि हो सकती है।
वीबीए संदेशबॉक्स समारोह
VBA में, एक साधारण MsgBox प्रदर्शित करना आसान है:
1 | MsgBox "यह एक संदेश बॉक्स है" |
हालाँकि आप एक साधारण ओके संदेश बॉक्स प्रदर्शित करने के अलावा और भी बहुत कुछ कर सकते हैं। इससे पहले कि हम बारीकियों में गोता लगाएँ, आइए जल्दी से जटिल उदाहरण देखें …
वीबीए हां नहीं संदेश बॉक्स
नीचे हम इसके साथ एक संदेश बॉक्स बनाएंगे:
- एक शीर्षक "संदेश बॉक्स शीर्षक" और शीघ्र "पाठ"
- एक प्रश्न चिह्न चिह्न
- एक साधारण "ओके" के बजाय हां / नहीं विकल्प
- डिफ़ॉल्ट बटन = 'नहीं'
123 | मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("पाठ", vbQuestion + vbYesNo + vbDefaultButton2, "संदेश बॉक्स शीर्षक") |
संदेशबॉक्स उपयोगकर्ता की पसंद के आधार पर vbYes या vbNo लौटाएगा। फिर आप पसंद के आधार पर विभिन्न क्रियाएं कर सकते हैं:
12345 | अगर उत्तर = वीबीहाँ तोसंदेश बॉक्स "हाँ"अन्यथासंदेश बॉक्स "नहीं"अगर अंत |
अगले भाग में हम आपको संदेश बॉक्स बनाते समय आपके लिए उपलब्ध सभी विकल्प दिखाएंगे। फिर हम आपको MsgBox फ़ंक्शन के सिंटैक्स से परिचित कराएंगे और अंत में अन्य संदेश बॉक्स उदाहरणों पर जाएंगे।
वीबीए संदेश बॉक्स विकल्प
नीचे दी गई छवि पर एक नज़र डालें। यहां आपको संदेश बॉक्स बनाते समय आपके लिए उपलब्ध सभी विकल्प (लगभग) दिखाई देंगे। आइकन और विभिन्न बटनों पर ध्यान दें।
यह हमारे प्रीमियम वीबीए ऐड-इन: ऑटोमैक्रो से "मैसेजबॉक्स बिल्डर" का एक स्क्रीनशॉट है। मैसेजबॉक्स बिल्डर आपको अपना वांछित संदेश बॉक्स जल्दी से डिजाइन करने और कोड को अपने कोड मॉड्यूल में डालने की अनुमति देता है। इसमें कई अन्य कोड निर्माता, एक व्यापक VBA कोड लाइब्रेरी और कोडिंग टूल का वर्गीकरण भी शामिल है। यह किसी भी वीबीए डेवलपर के लिए जरूरी है।
MsgBox फ़ंक्शन का सिंटैक्स
MsgBox (प्रॉम्प्ट [, बटन] [, शीर्षक] [, हेल्पफाइल, संदर्भ])
शीघ्र (आवश्यक) - यह प्राथमिक संदेश बॉक्स पाठ है।
बटन - प्रदर्शित करने के लिए कौन से बटन चुनें। यदि छोड़ा गया है, तो 'ओकेनली'। यहां आप यह भी निर्दिष्ट कर सकते हैं कि कौन सा आइकन दिखाना है और डिफ़ॉल्ट बटन।
शीर्षक - संदेश बॉक्स के शीर्ष पर शीर्षक। यदि छोड़ा गया है, तो वर्तमान एप्लिकेशन का नाम प्रदर्शित होता है (उदा. Microsoft Excel)।
हेल्पफाइल - सहायता फ़ाइल निर्दिष्ट करें जिसे उपयोगकर्ता द्वारा 'सहायता' बटन पर क्लिक करने पर एक्सेस किया जा सकता है। यदि निर्दिष्ट किया गया है, तो आपको संदर्भ भी जोड़ना होगा (नीचे)
संदर्भ - उपयुक्त सहायता विषय को असाइन की गई सहायता संदर्भ संख्या को दर्शाने वाला संख्यात्मक व्यंजक.
आप शायद हेल्पफाइल और संदर्भ तर्कों को अनदेखा कर सकते हैं। मैंने उन्हें कभी इस्तेमाल करते नहीं देखा।
संदेश बॉक्स शीर्षक और संकेत अनुकूलित करें
MsgBox फ़ंक्शन आपको शीर्षक को अनुकूलित करने और इस तरह के संदेशों का संकेत देने की अनुमति देता है:
1 | Msgbox "प्रॉम्प्ट", "शीर्षक" |
एक और उदाहरण:
123 | उप MsgBoxPromptTitle ()MsgBox "चरण 1 पूर्ण। चरण 2 चलाने के लिए ठीक क्लिक करें", "5 का चरण 1"अंत उप |
जरूरी! आपको अपने पाठ को उद्धरणों से घेरना याद रखना चाहिए।
संदेशबॉक्स लाइनब्रेक्स
आप अपने संदेश बॉक्स में 'vbNewLine' के साथ लाइन ब्रेक भी जोड़ सकते हैं।
123 | उप MsgBoxPromptTitle_NewLine ()MsgBox "चरण 1 पूर्ण।" & vbNewLine और "चरण 2 चलाने के लिए ठीक क्लिक करें", , "5 का चरण 1"अंत उप |
ध्यान दें कि हम टेक्स्ट को एक साथ जोड़ने के लिए & प्रतीक का उपयोग करते हैं। आप टेक्स्ट में शामिल होने पर हमारे लेख में लाइनब्रेक्स डालने के लिए टेक्स्ट और अन्य विकल्पों के उपयोग के बारे में अधिक जान सकते हैं।
संदेशबॉक्स प्रतीक
VBA आपको अपने संदेश बॉक्स में चार पूर्व-निर्मित चिह्नों में से एक जोड़ने की क्षमता देता है:
चिह्न स्थिरांक | आइकन |
---|---|
वीबीसूचना | ![]() |
वीबीक्रिटिकल | ![]() |
वीबीप्रश्न | ![]() |
वीबीविस्मयादिबोधक | ![]() |
चिह्न स्थिरांक को बटन तर्क के भीतर रखा जाना चाहिए:
123 | उप MsgBoxQuestionIcon ()MsgBox "प्रश्न उदाहरण", vbQuestionअंत उप |
यह प्रश्न चिह्न के साथ डिफ़ॉल्ट 'ओके' संदेश बॉक्स उत्पन्न करेगा:
ध्यान दें कि जब आप टाइप करते हैं, तो VBA संपादक आपको आपके लिए उपलब्ध विकल्प दिखाएगा:
यह मददगार है क्योंकि आपको सटीक सिंटैक्स या आइकन या बटन के नाम याद रखने की आवश्यकता नहीं है।
अब हम प्रत्येक संदेश बॉक्स आइकन को प्रदर्शित करेंगे:
MsgBox चिह्न - सूचना
123 | उप MsgBoxInformationIcon ()MsgBox "सूचना उदाहरण", vbInformationअंत उप |
MsgBox चिह्न - महत्वपूर्ण
123 | उप MsgBoxक्रिटिकल आइकन ()MsgBox "क्रिटिकल उदाहरण", vbक्रिटिकलअंत उप |
MsgBox चिह्न - प्रश्न
123 | उप MsgBoxQuestionIcon ()MsgBox "प्रश्न उदाहरण", vbQuestionअंत उप |
MsgBox चिह्न - विस्मयादिबोधक
123 | उप संदेशबॉक्स विस्मयादिबोधक चिह्न ()MsgBox "विस्मयादिबोधक उदाहरण", vbExclarationअंत उप |
नीचे हम विभिन्न बटन लेआउट के साथ संदेश बॉक्स बनाने के बारे में बात करेंगे। यदि आप एक अलग संदेश बॉक्स प्रकार चुनते हैं, तो आपको "+" का उपयोग करके बटन के बाद आइकन प्रकार को जोड़ना होगा:
123 | उप MsgBoxQuestionIcon ()MsgBox "क्या आप जारी रखना चाहते हैं?", vbOKCancel + vbQuestionअंत उप |
MsgBox चर
अब तक हमने मुख्य रूप से डिफ़ॉल्ट 'ओके' संदेश बॉक्स के साथ काम किया है। ओके मैसेज बॉक्स में केवल एक ही विकल्प होता है: 'ओके' दबाने से कोड जारी रह सकता है। हालांकि, आप अन्य बटन समूह भी निर्दिष्ट कर सकते हैं: ठीक/रद्द करें, हां/नहीं, आदि।
इस मामले में आप किस बटन के आधार पर विभिन्न क्रियाएं करना चाहेंगे। आइए एक उदाहरण देखें।
यहां वह संदेश बॉक्स है जिसे हम जनरेट करेंगे:
यह पूरा कोड है (हम इसे आगे तोड़ेंगे):
123456789101112 | उप MsgBoxVariable ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("क्या आप जारी रखना चाहते हैं?", vbQuestion + vbYesNo)अगर उत्तर = वीबीहाँ तोसंदेश बॉक्स "हाँ"अन्यथासंदेश बॉक्स "नहीं"अगर अंतअंत उप |
सबसे पहले हम मैसेजबॉक्स आउटपुट को एक पूर्णांक चर के लिए असाइन करते हैं।
123 | मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("क्या आप जारी रखना चाहते हैं?", vbQuestion + vbYesNo) |
आगे हम एक इफ-एल्स का उपयोग यह निर्धारित करने के लिए करते हैं कि किस बटन को दबाया जाता है:
12345 | अगर उत्तर = वीबीहाँ तोसंदेश बॉक्स "हाँ"अन्यथासंदेश बॉक्स "नहीं"अगर अंत |
MsgBox फ़ंक्शन एक पूर्णांक मान (1-7 के बीच) देता है, इसलिए हम चर को पूर्णांक प्रकार के रूप में परिभाषित करते हैं। हालांकि, पूर्णांक संख्या को संदर्भित करने के बजाय, आप एक स्थिरांक (उदा. vbOK, vbCancel, आदि) का उल्लेख कर सकते हैं। सभी विकल्पों को देखने के लिए इस तालिका को देखें:
बटन | लगातार | मूल्य |
---|---|---|
ठीक है | वीबीओके | 1 |
रद्द करें | वीबीरद्द करें | 2 |
बीच में बंद करें | वीबीएबॉर्ट | 3 |
पुन: प्रयास करें | वीबीपुनःप्रयास | 4 |
ध्यान न देना | वीबीअनदेखा | 5 |
हां | वीबीहाँ | 6 |
नहीं | वीबीनो | 7 |
अब हम प्रत्येक बटन ग्रुपिंग को प्रदर्शित करेंगे:
ठीक संदेश बॉक्स - vbOKOnly
यह मानक वीबीए संदेशबॉक्स है।
123456 | उप MsgBox_OKOnly ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("ओकेओनली उदाहरण", vbOKOnly)अंत उप |
ठीक है संदेश बॉक्स रद्द करें - vbOKरद्द करें
123456789101112 | उप MsgBox_OKCancel ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("ओके रद्द उदाहरण", vbOKCancel)अगर उत्तर = वीबीओके तोसंदेश बॉक्स "ठीक है"अन्यथासंदेश बॉक्स "रद्द करें"अगर अंतअंत उप |
हां नहीं संदेश बॉक्स - vbYesNo
123456789101112 | उप MsgBox_YesNo ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = संदेशबॉक्स ("हां नहीं उदाहरण", vbYesNo)अगर उत्तर = वीबीहाँ तोसंदेश बॉक्स "हाँ"अन्यथासंदेश बॉक्स "नहीं"अगर अंतअंत उप |
हां नहीं संदेश बॉक्स रद्द करें - vbYesNo रद्द करें
1234567891011121314 | उप MsgBox_YesNoCancel ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("हां नहीं उदाहरण रद्द करें", vbYesNoCancel)अगर उत्तर = वीबीहाँ तोसंदेश बॉक्स "हाँ"और अगर उत्तर = vbनहीं तोसंदेश बॉक्स "नहीं"अन्यथासंदेश बॉक्स "रद्द करें"अगर अंतअंत उप |
पुन: प्रयास रद्द करें संदेश बॉक्स पर ध्यान न दें - vbAbortRetryIgnore
1234567891011121314 | उप MsgBox_AbortRetryIgnore ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("निरस्त पुन: प्रयास उदाहरण पर ध्यान न दें", vbAbortRetryIgnore)अगर उत्तर = vbअबोर्ट करें तोसंदेश बॉक्स "निरस्त"और अगर उत्तर = vbफिर से प्रयास करेंसंदेश बॉक्स "पुन: प्रयास करें"अन्यथाMsgBox "अनदेखा करें"अगर अंतअंत उप |
संदेश बॉक्स रद्द करने का पुनः प्रयास करें - vbRetryCancel
123456789101112 | उप MsgBox_RetryCancel ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("उदाहरण रद्द करने का पुनः प्रयास करें", vbRetryCancel)अगर उत्तर = vbफिर से प्रयास करेंसंदेश बॉक्स "पुन: प्रयास करें"अन्यथासंदेश बॉक्स "रद्द करें"अगर अंतअंत उप |
वीबीए संदेशबॉक्स उदाहरण
मैक्रो चलाने से पहले संदेश बॉक्स की पुष्टि
मैक्रो को कॉल करने से पहले यह कोड हां नहीं संदेश बॉक्स प्रदर्शित करेगा। यदि हाँ क्लिक किया जाता है तो मैक्रो कहा जाता है, यदि नहीं क्लिक किया जाता है, तो मैक्रो नहीं चलता है।
12345678 | उप Msgbox_BeforeRunning ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("क्या आप Macro1 चलाना चाहते हैं?", vbQuestion + vbYesNo)अगर उत्तर = vbहाँ तो मैक्रो 1 पर कॉल करेंअंत उप |
हां / नहीं संदेश बॉक्स - बाहर निकलें उप
यहां हम उपयोगकर्ता के साथ पुष्टि करेंगे कि मैक्रो चलाना जारी रखना है या नहीं। यदि नहीं पर क्लिक किया जाता है, तो कोड उप से बाहर निकल जाएगा, अन्यथा प्रक्रिया जारी रहेगी।
12345678910 | उप Msgbox_BeforeRunning ()मंद उत्तर पूर्णांक के रूप मेंउत्तर = MsgBox ("क्या आप जारी रखना चाहते हैं?", vbQuestion + vbYesNo)अगर उत्तर = vbNo तो उप से बाहर निकलें'कुछ कोड'अंत उप |
एक्सेस वीबीए में वीबीए संदेश बॉक्स
उपरोक्त सभी उदाहरण एक्सेस वीबीए में ठीक उसी तरह काम करते हैं जैसे एक्सेल वीबीए में।