گاهی نیاز است در حین کار با اکسل پیامی به کاربر نمایش داده شود و در صورت انتخاب هر گزینه کار خاصی انجام شود. برای نمایش کادر پیام از توابع خاصی در اکسل استفاده میشود که یکی از این توابع تابع msgbox در اکسل میباشد. در این مقاله میخواهیم صفر تا صد نحوه استفاده از تابع msgbox در اکسل را به شما آموزش دهیم و هرآنچه برای شخصی سازی نمیاش پیام در اکسل نیاز است بدانید را به شما آموزش دهیم.
به طور کلی میتوان گفت تابع ( ) Msgbox یکی از توابعی است که در زبان vba مورد استفاده قرار میگیرد و میتواند قابلیت تعامل با کاربر را به نرم افزار اضافه کند.
این تابع میتواند پیامی را به کاربر نمایش دهد و گزینه هایی را برای انتخاب به کاربر نشان میدهد که کاربر با انتخاب هر گزینه میتواند عکس العمل خاصی را انتظار داشته باشد.
این تابع دارای قسمت های مختلفی است و وقتی از آن در اکسل استفاده میشود باید با بخش های مختلف آن آشنایی داشت تا بتوان تنظبمات لازم را اعمال کرد و پیام را به درستی به کاربر نمایش داد.
به طور کلی میتون گفت ساختار تابع msgbox در اکسل به صورت زیر میباشد:
MsgBox( Prompt, [Buttons], [Title], [HelpFile], [Context] )
بخش های مختلف سینتکس تعریف تابع msgbox به صورت زیر تعریف میشوند:
اگر تازه کار هستید میتوانید از المان های [helpfile] و [context] استفاده نکنید زیرا در کل به ندرت از این ها استفاده میشود.
در این بخش به شما مواردی که میتوانید در قسمت Buttons استفاده کنید را در قالب یک جدول به شما توضیح میدهیم تا بتوانید به راحتی بر اساس نیاز خود موارد دلخواه را استفاده کنید.
مقدار | نوع دکمه نمایش داده شده |
vbOKOnly | فقط دکمه OK را نشان می دهد. |
vbOKCancel | دکمه های OK و Cancel را نشان می دهد. |
vbAbortRetryIgnore | دکمه های لغو، تلاش مجدد و نادیده گرفتن را نشان می دهد. |
vbYesNo | دکمه های Yes و No را نشان می دهد. |
vbYesNoCancel | دکمه های بله، خیر و لغو را نشان می دهد. |
vbRetryCancel | دکمههای Retry و Cancel را نشان میدهد. |
vbMsgBoxRtlReading | دکمه را به صورت راست به چپ تعریف میکند که از این گزینه میتوان برای دکمه های فارسی استفاده کرد. |
vbMsgBoxRight | این گزینه میتواند متن داخل دکمه را به راست چین تعیین کند. |
vbExclamation | آیکن اخطار را در پیام دکمه نمایش میدهد. |
vbInformation | در پیام دکمه علامت تعجب نمایش میدهد. |
vbQuestion | در پیام دکمه علامت سوال نمایش میدهد. |
vbCritical | در پیام دکمه علامت ضربدر نمایش میدهد. |
vbMsgBoxHelpButton | دکمه Help را نشان می دهد. برای این کار، باید از آرگومان های کمک و زمینه در تابع MsgBox استفاده کنید. |
vbDefaultButton1 | دکمه اول را پیش فرض می کند. برای تغییر دکمه پیش فرض می توانید شماره را تغییر دهید. به عنوان مثال، vbDefaultButton2 دکمه دوم را به عنوان پیش فرض قرار می دهد |
باید این نکته را در نظر داشته باشید که این تابع میتواند روند اجرای برنامه را تغییر دهد برای مثال اگر OK را انتخاب کنید، کد باید ادامه یابد و اگر روی Cancel کلیک کنید، کد باید متوقف شود. این کار را می توان با استفاده از متغیرها و نسبت دادن مقدار Message Box به یک متغیر انجام داد. در بخش های بعدی این آموزش به این موضوع خواهیم پرداخت.
حال بیایید به چند نمونه از نحوه نمایش دکمه های مختلف در MsgBox و نحوه ظاهر آن نگاهی بیندازیم.
اگر فقط از prompt استفاده کنید و هیچ یک از آرگومان ها را مشخص نکنید، کادر پیام پیش فرض را مطابق شکل زیر دریافت خواهید کرد:
کد این پیام به صورت زیر میباشد:
()Sub DefaultMsgBox "This is a sample box "MsgBox End Sub
توجه داشته باشید که رشته متن باید در دو گیومه ” ” باشد. همچنین می توانید از دکمه ثابت vbOKOnly استفاده کنید، اما حتی اگر چیزی را مشخص نکنید، به عنوان پیش فرض این مورد در نظر گرفته می شود.
اگر فقط می خواهید دکمه OK و Cancel را نشان دهید، باید از ثابت vbOKCancel استفاده کنید.
کد این نوع پیام ها به صورت زیر خواهد بود:
()Sub MsgBoxOKCancel MsgBox "Want to Continue?", vbOKCancel End Sub
می توانید از ثابت “vbAbortRetryIgnore” برای نمایش دکمه های Abort، Retry و Ignore استفاده کنید. کد این پیام به صورت زیر است:
()Sub MsgBoxAbortRetryIgnore MsgBox "What do you want to do?", vbAbortRetryIgnore End Sub
می توانید از ثابت “vbYesNo” برای نمایش دکمه های بله و خیر استفاده کنید. کد این پیام به صورت زیر است:
()Sub MsgBoxYesNo MsgBox "Should we stop?", vbYesNo End Sub
میتوانید از ثابت «vbYesNoCancel» برای نمایش دکمههای بله، خیر و لغو استفاده کنید. کد آن به صورت زیر است:
()Sub MsgBoxYesNoCancel MsgBox "Should we stop?", vbYesNoCancel End Sub
میتوانید از ثابت «vbRetryCancel» برای نمایش دکمههای Retry و Cancel استفاده کنید. کد این پیام به صورت زیر میباشد:
()Sub MsgBoxRetryCancel MsgBox "What do you want to do next?", vbRetryCancel End Sub
میتوانید از ثابت «vbMsgBoxHelpButton» برای نمایش دکمه کمک استفاده کنید. می توانید از آن با سایر ثابت های دکمه استفاده کنید. کد آن به صورت زیر است:
()Sub MsgBoxRetryHelp MsgBox "What do you want to do next?", vbRetryCancel + vbMsgBoxHelpButton End Sub
توجه داشته باشید که در این کد دو ثابت دکمه مختلف (vbRetryCancel + vbMsgBoxHelpButton) را با هم ترکیب کرده ایم. قسمت اول دکمه های Retry و Cancel و قسمت دوم دکمه Help را نشان می دهد.
می توانید از ثابت “vbDefaultButton1” برای تنظیم اولین دکمه به عنوان پیش فرض استفاده کنید. یعنی دکمه از قبل انتخاب شده است و اگر enter را فشار دهید آن دکمه را اجرا می کند.
در زیر کدی وجود دارد که دکمه دوم (دکمه ‘No’) را به عنوان پیش فرض تنظیم می کند.
()Sub MsgBoxOKCancel +MsgBox "What do you want to do next?", vbYesNoCancel vbDefaultButton2 End Sub
در بیشتر موارد، دکمه سمت چپ، دکمه پیش فرض است. میتوانید با استفاده از vbDefaultButton2، vbDefaultButton3 و vbDefaultButton4 دکمههای دیگری را انتخاب کنید.
شما میتوانید تنظیماتی را در پیام تابع MsgBox در اکسل ایجاد کنید که در متن پیام نمایش داده شده آیکن هایی نمایش داده شود. به این ترتیب شما میتوانید پیغام دادن در اکسل را به صورت سفارشی سازی شده به کاربر نمایش دهید و آن را شخصی سازی کنید.
در زیر جدولی وجود دارد که کدی را که نماد مربوط به هر آیکن را به صورت لیستی نشان می دهد لیست می کند.
نماد آیکن | توضیحات |
آیکن پیام مهم vbcritical | این آیکن به صورت ضربدر قرمز است و میتواند برای نمایش پیام های مهم و جدی به کار رود |
آیکن سوال vbQuestion | در این ایکن علامت سوال است و شما میتوانید از آن برای پیام هایی که قرار است سوالی را نمایش دهند استفاده کنید. |
آیکن اخطار vbExclamation | این آیکن علامت تعجب است و شما میتوانید برای پیام هایی که حاوی هشدار است از این آیکن استفاده کنید. |
آیکن اطلاعات vbInformation | این آیکن به صورت Information میباشد و میتوان برای پیام هایی که اطلاعات خاصی را نمایش میدهند استفاده کنید. |
شما میتوانید از این ثابت ها برای نمایش آیکن استفاده کنید. برای مثال اگر می خواهید یک نماد مهم را در MsgBox خود نشان دهید، از ثابت vbCritical استفاده کنید. شما می توانید این را همراه با سایر ثابت های دکمه (با قرار دادن علامت + بین کدها) استفاده کنید.
به عنوان مثال، در زیر کدی وجود دارد که دکمه پیش فرض OK را با یک نماد مهم نشان می دهد.
()Sub MsgBoxCriticalIcon MsgBox "This is a sample box", vbCritical End Sub
مثال دیگری از این کد به صورت زیر میباشد:
()Sub MsgBoxCriticalIcon MsgBox "This is a sample box", vbYesNo + vbCritical End Sub
تخصیص مقدار MsgBox به یک متغیر
تاکنون نمونه هایی را دیده ایم که در آن جعبه های پیام ایجاد کرده ایم و دکمه ها، نمادها، عنوان و درخواست را سفارشی کرده ایم. با این حال، کلیک بر روی یک دکمه هیچ کاری انجام نداده است.
با تابع MsgBox در اکسل، می توانید تصمیم بگیرید که وقتی کاربر روی دکمه خاصی کلیک می کند، چه کاری انجام دهید و این امکان پذیر است زیرا هر دکمه دارای یک مقدار مرتبط با آن است.
بنابراین اگر روی دکمه Yes کلیک کنم، تابع MsgBox یک مقدار (6 یا vbYes ثابت) را برمیگرداند که میتوانم از آن در کد خود استفاده کنم. به طور مشابه، اگر کاربر دکمه No را انتخاب کند، مقدار متفاوتی ((7 یا vbNo ثابت)) را برمی گرداند که می توانم در کد استفاده کنم.
در زیر جدولی وجود دارد که مقادیر دقیق و ثابت برگردانده شده توسط تابع MsgBox را نشان می دهد. شما نیازی به حفظ این موارد ندارید، فقط از آن آگاه باشید و می توانید از ثابت هایی استفاده کنید که استفاده آسان تر است.
حال بیایید ببینیم چگونه می توانیم کد ماکرو VBA را بر اساس دکمه ای که کاربر کلیک می کند، کنترل کنیم.
در کد زیر، اگر کاربر Yes را کلیک کند، پیغام «شما کلیک کردید بله» را نشان می دهد و اگر کاربر روی «نه» کلیک کند، «شما روی خیر کلیک کردید» نمایش داده می شود.
()Sub MsgBoxInformationIcon Result = MsgBox("Do you want to continue?", vbYesNo + vbQuestion) If Result = vbYes Then "MsgBox "You clicked Yes "Else: MsgBox "You clicked No End If End Sub
سوالات متداولتابع msgbox در اکسل چیست؟
برای آن که بتوانید با استفاده از vba با کاربران تعامل برقرار کنید و اطلاعات خاصی را در قالب پیام به آن ها نمایش دهید از این تابع میتوانید در اکسل استفاده کنید. در این پیام ها میتوانید آیکن خاصی را استفاده نماییدنحوه استفاده از تایع msgbox در اکسل چگونه است؟
ساختار این تابع به صورت msgbox(prompt, [buttons], [title], [helpfile], [vontext]) میباشد که در مقاله توضیح داده شده که هر بخش از پیام و آیکن ها و گزینه های نمایش داده شده برای انتخاب در کدام قسمت باید تعریف شوند.
دیدگاه شما