كيفية إنشاء وظائف مربع الرسالة في إكسيل؟

أول شيء تعلمته عن VBA هو كيفية استخدام مربع الرسائل (“وظيفة msgbox”). إنه يشبه مربعًا منبثقًا بسيطًا في نافذة Excel لعرض رسالة محددة. إذا فكرت في الأمر، يمكنك استخدامه بطريقتين.

  • تسليم رسالة للمستخدم.
  • احصل على استجابة بسيطة من المستخدم.

يستخدمه معظم مبرمجي VBA في أكواد الماكرو الخاصة بهم لجعلها أكثر تفاعلية، وإذا كنت لا تعرف ذلك، أراهن أنك بعد قراءة هذا المقال ستقع في حبه.

نصيحة الخبراء: إذا كنت مبتدئًا في VBA، فقد تكون فكرة جيدة أن تتعلم المزيد حول مربع رسائل VBA.

لذا، أود اليوم في هذه المقالة أن أشارككم جميع التفاصيل حول استخدام مربع الرسائل في Excel وبعض الأمثلة الواقعية.

…هيا بنا نبدأ.

بناء الجملة

=MSGBOX(موجه، [أزرار]، [عنوان]، [ملف مساعدة، سياق])

بناء جملة وظيفة msgbox vba

  • تعبير سلسلة موجه يستخدم لعرضه كرسالة. الحد الأقصى لطول الحرف هو 1024، والذي يعتمد على عرض الحرف.
  • [أزرار] يمكنك استخدام هذه الوسيطة لتحديد الأزرار ونمط الرمز وهوية الزر وطريقة مربع الرسالة.
  • [العنوان] يمكنك استخدام هذه الوسيطة لتحديد نص العنوان لمربع رسالتك.
  • [ملف المساعدة] ستساعدك هذه الوسيطة في تحديد ملف تعليمات للمستخدم. يمكن للمستخدم الوصول إلى ملف التعليمات هذا باستخدام زر المساعدة. إذا قمت بتحديد ملف تعليمات، فمن الضروري تحديد رقم السياق.
  • [سياق] تعبير رقمي يستخدم لتعيين موضوع تعليمات من قائمة المساعدة.

ملاحظة: في القائمة أعلاه، تكون الوسيطات الموجودة أعلاه بين قوسين مربعين اختيارية، ويمكنك تخطيها لتحديدها.

كيفية تخصيص مربع رسالة واستخدام أزرار مختلفة

يمكنك بسهولة تخصيص مربع رسائل VBA بكل الخيارات المتاحة. دعونا نلقي نظرة على هذه الخيارات.

#1. vbOKonly

يمنحك هذا زر موافق بسيطًا. ويمكن للمستخدم الضغط عليها بعد قراءة الرسالة لإغلاقها. يمكنك أيضًا استخدام ماكرو للتشغيل بمجرد النقر فوق الزر “موافق”.

ضمن OKOnly()

موجه MsgBox := “هذا هو MsgBox”، _

الأزرار:=vbOKOnly، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#2. vbOKCancel

يمنحك هذا الثابت زر موافق وإلغاء. لدى المستخدم الآن خياران للضغط على “موافق” للمتابعة أو “الإلغاء” للخروج.

ضمن موافقإلغاء ()

موجه MsgBox:= »هل أنت بخير؟ », _

الأزرار:=vbOKCancel، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#3. vbAbortRetryIgnore

يتيح لك ذلك عرض ثلاثة أزرار للحول وإعادة المحاولة والتخطي. يمكن للمستخدم إيقاف العملية أو إعادة المحاولة أو تجاهلها.

ضمن موافقإلغاء ()

موجه MsgBox:= »هل أنت بخير؟ », _

الأزرار:=vbOKCancel، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#4. vbYesNoCancel

يعرض هذا الثابت ثلاثة أزرار لـ نعم، ولا، وإلغاء. يمكن للمستخدم نعم للقبول والمتابعة، أو لا للرفض أو الإلغاء لإغلاق مربع الرسالة.

ضمن YesNoCancel()

MsgBox Prompt := “الآن لديك ثلاثة أزرار”، _

الأزرار:=vbYesNoCancel، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#5. فبنعم لا

يعرض هذا الثابت زرين لـ “نعم” و”لا”. يمكن للمستخدم النقر فوق “نعم” للقبول والمتابعة أو “لا” للرفض.

ضمن نعم لا ()

MsgBox Prompt := “الآن لديك زرين”، _

الأزرار:=vbYesNo، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#6. vbRetryCancel

الآن يظهر زرين، إعادة المحاولة والإلغاء. يمكنك استخدامه لمطالبة المستخدم بإعادة محاولة العملية أو إلغائها.

Sub RetryCancel()MsgBox Prompt:=”يرجى المحاولة مرة أخرى”، _Buttons:=vbRetryCancel، _Title:=”MsgBox”End Sub

#7. مراجعة

يعرض هذا الثابت رمزًا في مربع الرسالة، يشير إلى أن الرسالة مهمة.

دون الحرج()

موجه MsgBox := “هذا أمر بالغ الأهمية”، _

الأزرار:=vbCritical، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#8. vbQuestion

يمكن استخدام هذا الثابت عند طرح سؤال على المستخدم.

السؤال الفرعي()

MsgBox Prompt := »ماذا أفعل الآن؟ », _

الأزرار:=vbQuestion، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#9. vbExclamation

سيعرض هذا الثابت رمز تعجب مع الرسالة.

علامة تعجب ()

MsgBox Prompt := »ماذا أفعل الآن؟ », _

الأزرار:=vbExclamation، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

#عشرة. معلومات vb

سيتم عرض أيقونة تشير إلى أن الرسالة عبارة عن معلومات.

المعلومات الفرعية () موجه MsgBox: = “ماذا تفعل الآن؟”، _Buttons: = vbInformation، _Title: = “MsgBox”End Sub

رقم 11. vbDefaultButton1

استخدم هذا الثابت لتحديد الزر الأول في مربع الرسالة الخاص بك باعتباره الزر الافتراضي.

Sub DefaultButton1()MsgBox Prompt:=”Button1 مميز؟”، _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton1، _Title:=”MsgBox”End Sub

رقم 12. vbDefaultButton2

استخدم هذا الثابت لتحديد الزر الثاني في مربع الرسالة ليكون الزر الافتراضي.

Sub DefaultButton2()MsgBox Prompt:=”Button2 مميز؟”، _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton2، _Title:=”MsgBox”End Sub

رقم 13. vbDefaultButton3

استخدم هذا الثابت لتحديد الزر الثالث في msgbox الخاص بك باعتباره الزر الافتراضي.

Sub DefaultButton3()MsgBox Prompt:=”Button3 مميز؟”، _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton3، _Title:=”MsgBox”End Sub

#14. vbDefaultButton4

استخدم هذا الثابت لتحديد الزر الرابع في msgbox الخاص بك باعتباره الزر الافتراضي.

Sub DefaultButton4()MsgBox Prompt:=”Button4 مميز؟”، _Buttons:=vbYesNoCancel + vbMsgBoxHelpButton + vbDefaultButton4، _Title:=”MsgBox”End Sub

#15. vbApplicationModal

سيؤدي هذا الثابت إلى تعليق التطبيق (Excel)، ويجب على المستخدم الرد على msgbox لاستخدام التطبيق.

ضمن OKOnly()

موجه MsgBox := “هذا هو MsgBox”، _

الأزرار:=vbOKOnly، _

العنوان: = “صندوق البريد”، _

إنهاء العنوان الفرعي

رقم 16. vbSystemModal

سيؤدي هذا الثابت إلى تعليق جميع التطبيقات في نظام التشغيل الخاص بك، ويجب على المستخدم الاستجابة لمربع الرسالة أولاً.

Sub ApplicationModal()MsgBox Prompt := »هذا هو التطبيق المشروط»، _Buttons :=vbOK + vbApplicationModal، _Title := »MsgBox »End Sub

رقم 17. vbMsgBoxHelpButton

استخدم هذا الثابت لإضافة زر تعليمات إلى صندوق البريد الخاص بك. يمكنك إضافة ملف تعليمات ورقم سياق لاستخدام زر المساعدة.

Sub HelpButton() MsgBox Prompt:=”استخدم زر المساعدة”، _Buttons:=vbOK + vbMsgBoxHelpButton، _Title:=”MsgBox”، _HelpFile:=”C:UsersPuneet GogiaDesktopsamplehelp.chm”، _Context:=101End Sub

بمجرد أن ينقر المستخدم على زر المساعدة، تظهر قائمة المساعدة.

رقم 18. vbMsgBoxSetForeground

سيساعدك هذا الثابت في جعل نافذة مربع الرسائل الخاصة بك نافذة أمامية.

Sub SetForeground()MsgBox Prompt:=”هذا MsgBox موجود في المقدمة”، _Buttons:=vbOK + vbMsgBoxSetForeground، _Title:=”MsgBox”End Sub

#19. vbMsgBoxRight

سيتم محاذاة النص إلى اليمين باستخدام هذا الثابت.

ضمن MsgBoxRight()

MsgBox Prompt := “النص على اليمين”، _

الأزرار:=vbOK + vbMsgBoxRight، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

رقم 20. vbMsgBoxRtlReading

باستخدام هذا الثابت، سيتم قلب مربع الرسالة إلى اليمين. تم تصميم هذا الثابت في المقام الأول للنظامين العبرية والعربية.

ضمن MsgBoxRtlRead ()

MsgBox Prompt := “هذا الصندوق مقلوب”، _

الأزرار:=vbOK + vbMsgBoxRtlRead، _

العنوان: = “صندوق البريد”

إنهاء العنوان الفرعي

إرجاع القيم

في كل مرة يستجيب المستخدم لمربع الرسالة بالنقر فوق أحد الأزرار، يتم إنشاء رقم. سيساعدك هذا على تحديد الزر الذي نقر عليه المستخدم.

ثابت
قيمة
وصف
vbOK
1
حسنًا
vbCancel
2
يلغي
vbAbort
3
إجهاض
vbحاول مرة أخرى
4
إبدأ من جديد
vbSkip
5
يتجاهل
vbYes
6
نعم
vbNo
7
لا

أمثلة واقعية لاستخدام وظيفة مربع رسائل VBA في Excel

لقد قمت هنا بإدراج بعض الأمثلة الواقعية لمربعات رسائل VBA وأنا متأكد من أن هذه الأمثلة ستلهمك لاستخدامها.

#1. تنفيذ ماكرو باستخدام VBA MsgBox

الآن بمساعدة وظيفة msgbox يمكنك مطالبة المستخدم قبل تشغيل الماكرو. دعونا نلقي نظرة على الماكرو أدناه لفهمه.

ضمن حفظ هذا ()

نتيجة خافتة كعدد صحيح

النتيجة = MsgBox(“هل تريد حفظ هذا الملف؟”، vbOKCancel)

إذا كانت النتيجة = vbOK ثم

ActiveWorkbook.Save

إنهاء العنوان الفرعي

حفظ المصنف باستخدام vba msgbox

يمكنك أن تطلب من المستخدم حفظ المصنف وإذا قام المستخدم بالنقر فوق الزر “موافق”، فسيقوم رمز الماكرو بحفظ المصنف.

#2. إدراج جدول في مربع رسالة

يمكنك استخدام vbTab لإدخال البيانات الجدولية في مربع الرسالة. في هذا المثال، يبدأ الجدول من الخلية A1.

ضمن AddToMsgBox ()

خافت الرسالة كسلسلة

خافت ص كما كثافة العمليات

خافت ج كما كثافة العمليات

خافت RC كما كثافة العمليات

خافت سم مكعب ككثافة العمليات

تعتيم myRows كنطاق

تعتيم myColumns كنطاق

الرسالة = “”

تعيين myRows = النطاق (“A:A”)

تعيين myColumns = النطاق (“1:1”)

RC = Application.CountA(myRows)

سم مكعب = Application.CountA(myColumns)

من أجل r = 1 إلى rcمن أجل c = 1 إلى cc

Msg = Msg & Cells(r, c).Text

إذا ج <= سم مكعب ثم

Msg = Msg & vbTab

cMsg التالي = Msg & vbCrLf

التالي ص

رسالة صندوق الرسائل

إنهاء العنوان الفرعي

#3. إظهار مربع الرسالة عند فتح ملف

إذا نظرت إلى الماكرو أدناه، فقد استخدمت الفتح التلقائي لإنشاء رسالة لعرضها عند فتح المصنف.

ضمن auto_open()

MsgBox “مرحبًا بك في Exceladvisor، شكرًا لك على تنزيل هذا الملف” _

+ vbNewLine + vbNewLine + “هنا ستجد شرحًا تفصيليًا لوظيفة MsgBox. » _

+ vbNewLine + vbNewLine + “ولا تنس الاطلاع على الأشياء الرائعة الأخرى. »

إنهاء العنوان الفرعي

الوجبات الجاهزة

  1. لا يمكنك إضافة أربعة أزرار إلى مربع رسالة إذا كنت لا تستخدم زر التعليمات كالزر الرابع.
  2. لإنشاء ملف تعليمات لمربع الرسائل الخاص بك، يمكنك الرجوع إلى ملف المثال التالي.

ملف المثال

قم بتنزيل ملف العينة هذا هنا لمعرفة المزيد عنه.

خاتمة

لا يساعدك مربع الرسالة على نقل الرسالة فحسب، بل يترك أيضًا انطباعًا إبداعيًا لدى المستخدم. يمكنك مراسلتهم والحصول على رد بسيط.

وكما قلت، إذا كنت جديدًا في VBA، فإن تعلم كيفية استخدام مربع الرسائل يعد أحد أفضل الأشياء. أتمنى أن يكون هذا المقال قد ساعدك على الاقتراب من حلمك في إتقان VBA، ولكن الآن أخبرني بشيء واحد.

هل تعتقد أن وظيفة MsgBox هي واحدة من أروع الأشياء في VBA؟

تأكد من مشاركة آرائك معي في قسم التعليقات، ويسعدني أن أسمع منك ولا تنس مشاركة هذه النصيحة مع أصدقائك.

تعرف على المزيد حول VBA

اضف تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *