InputBox और MsgBox

VBA में मैक्रो बनाते समय, उपयोगकर्ता इनपुट प्राप्त करने और प्रोसेसिंग परिणाम प्रदर्शित करने की क्षमता आवश्यक है। VBA दो फ़ंक्शन प्रदान करता है—InputBox और MsgBox—जो इन कार्यों को आसान बनाते हैं।

InputBox और MsgBox की आवश्यकता कब होती है

InputBox के उपयोग के मामले

  • उपयोगकर्ता नाम इनपुट: लॉगिन या रिकॉर्ड रखने के लिए नाम कैप्चर करना
  • खोज कीवर्ड प्रविष्टि: डेटा में विशिष्ट मान खोजना
  • संख्यात्मक इनपुट: गणना के लिए आवश्यक पैरामीटर प्राप्त करना
  • फ़ाइल नाम विनिर्देश: उपयोगकर्ताओं को सेव फ़ाइल नाम निर्दिष्ट करने देना

MsgBox के उपयोग के मामले

  • पूर्णता सूचनाएं: “प्रोसेसिंग पूर्ण” संदेश
  • त्रुटि संदेश प्रदर्शन: समस्याएं होने पर चेतावनियां
  • पुष्टिकरण डायलॉग: “क्या आप वाकई हटाना चाहते हैं?” प्रॉम्प्ट
  • विकल्प प्रस्तुति: “हां/नहीं” चयन अनुरोध

MsgBox: संदेश प्रदर्शित करना

मूल सिंटैक्स

MsgBox(संदेश, [बटन], [शीर्षक])

सबसे सरल रूप:

MsgBox "संदेश"

मूल उपयोग

msgbox_basic.bas
Sub MsgBoxBasic()
    ' सरल संदेश प्रदर्शन
    MsgBox "नमस्ते, दुनिया!"

    ' शीर्षक के साथ
    MsgBox "प्रोसेसिंग पूर्ण।", , "सूचना"

    ' बहु-पंक्ति संदेश
    MsgBox "पंक्ति 1" & vbCrLf & "पंक्ति 2" & vbCrLf & "पंक्ति 3"
End Sub
チェック

vbCrLf एक लाइन ब्रेक कॉन्स्टेंट है। आप vbLf (लाइन फीड) या vbCr (कैरिज रिटर्न) भी उपयोग कर सकते हैं।

बटन के प्रकार

कॉन्स्टेंटमानविवरण
vbOKOnly0केवल OK बटन (डिफ़ॉल्ट)
vbOKCancel1OK और Cancel बटन
vbYesNoCancel3हां, नहीं, Cancel बटन
vbYesNo4हां और नहीं बटन
msgbox_buttons.bas
Sub MsgBoxButtons()
    ' OK और Cancel बटन
    MsgBox "जारी रखें?", vbOKCancel, "पुष्टि"

    ' हां/नहीं बटन
    MsgBox "इस आइटम को हटाएं?", vbYesNo, "हटाने की पुष्टि"
End Sub

आइकन के प्रकार

कॉन्स्टेंटमानविवरण
vbCritical16गंभीर त्रुटि ❌
vbQuestion32प्रश्न ❓
vbExclamation48चेतावनी ⚠️
vbInformation64जानकारी ℹ️
msgbox_icons.bas
Sub MsgBoxIcons()
    ' त्रुटि संदेश
    MsgBox "एक त्रुटि हुई!", vbCritical, "त्रुटि"

    ' चेतावनी संदेश
    MsgBox "कृपया अपना इनपुट जांचें।", vbExclamation, "चेतावनी"

    ' जानकारी संदेश
    MsgBox "प्रक्रिया पूर्ण।", vbInformation, "पूर्ण"
End Sub
チェック
बटन और आइकन को जोड़कर संयोजित किया जा सकता है। उदाहरण: vbYesNo + vbQuestion

रिटर्न वैल्यू हैंडलिंग

msgbox_return_value.bas
Sub MsgBoxReturnValue()
    Dim result As VbMsgBoxResult

    ' उपयोगकर्ता का चयन प्राप्त करें
    result = MsgBox("इस फ़ाइल को हटाएं?", vbYesNo + vbQuestion, "पुष्टि")

    ' रिटर्न वैल्यू के आधार पर ब्रांच
    If result = vbYes Then
        MsgBox "फ़ाइल हटाई गई।", vbInformation
    Else
        MsgBox "हटाना रद्द किया गया।", vbInformation
    End If
End Sub

InputBox: उपयोगकर्ता इनपुट प्राप्त करना

मूल सिंटैक्स

InputBox(प्रॉम्प्ट, [शीर्षक], [डिफ़ॉल्ट])

मूल उपयोग

inputbox_basic.bas
Sub InputBoxBasic()
    Dim userName As String

    ' सरल इनपुट
    userName = InputBox("अपना नाम दर्ज करें:")

    If userName <> "" Then
        MsgBox "नमस्ते, " & userName & "!", vbInformation
    Else
        MsgBox "कोई नाम दर्ज नहीं किया गया।", vbExclamation
    End If
End Sub

इनपुट वैलिडेशन

inputbox_validation.bas
Sub InputBoxWithValidation()
    Dim input As String
    Dim number As Double
    Dim isValid As Boolean

    Do
        input = InputBox("एक संख्या दर्ज करें (1-100):", "संख्या इनपुट")

        If StrPtr(input) = 0 Then
            ' Cancel क्लिक किया गया
            Exit Sub
        End If

        ' जांचें कि यह एक वैध संख्या है
        If IsNumeric(input) Then
            number = CDbl(input)
            If number >= 1 And number <= 100 Then
                isValid = True
            Else
                MsgBox "1 और 100 के बीच संख्या दर्ज करें।", vbExclamation
            End If
        Else
            MsgBox "कृपया एक वैध संख्या दर्ज करें।", vbExclamation
        End If
    Loop Until isValid

    MsgBox "आपने दर्ज किया: " & number, vbInformation
End Sub
チェック

Cancel और खाली इनपुट में अंतर करने के लिए StrPtr(input) = 0 का उपयोग करें। यदि StrPtr 0 लौटाता है, तो उपयोगकर्ता ने Cancel क्लिक किया।

सारांश

InputBox और MsgBox VBA में उपयोगकर्ता इंटरैक्शन के लिए आवश्यक उपकरण हैं:

MsgBox:

  • स्थिति के लिए उपयुक्त बटन संयोजन का उपयोग करें
  • संदेश महत्व को व्यक्त करने के लिए आइकन जोड़ें
  • विनाशकारी संचालन के लिए सुरक्षित डिफ़ॉल्ट सेट करें

InputBox:

  • Cancel को खाली इनपुट से अलग करने के लिए StrPtr() का उपयोग करें
  • प्रोसेसिंग से पहले इनपुट को वैलिडेट करें

उपयोगकर्ता-अनुकूल VBA एप्लिकेशन बनाने के लिए इन फ़ंक्शनों में महारत हासिल करें।

#VBA #InputBox #MsgBox #यूज़र इंटरफ़ेस #डायलॉग