أساسيات VBA إكسل : كيفية استخدام مربعات الحوار في VBA
في هذه التدوينة من سلسلة أساسيات VBA اكسل سنتكلم على مربع الحوار أو بالفرنسية la boite de dialogue
MSGBOX
الى حد الان ، استعملنا فقط مربع الحوار MsgBox لعرض
المعلومات:
Sub effacerB2() Range("B2").ClearContents MsgBox "Le contenu de B2 a été effacé !" End Sub
في هذه الحالة، MsgBox يستخدم فقط مع حجة واحدة.
تطبيق نتيجة هذا الرمز أعلاه:
سنقوم الآن بإنشاء مربع حوار سيطلب منا تأكيد الحذف قبل
تنفيذ التعليمات.
فيما يلي الحجج الثلاثة التي سنملأها:
MsgBox([TEXTE], [BOUTONS], [TITRE])
- النص : نص مربع الحوار
- الأزرار :
اختيار
الأزرار (نعم ، لا ، إلغاء ، إلخ) + خيارات أخرى
- العنوان :
عنوان
مربع الحوار
Sub effacerB2() If MsgBox("Etes-vous certain de vouloir supprimer le contenu de B2 ?", vbYesNo, "Demande de confirmation") = vbYes Then Range("B2").ClearContents MsgBox "Le contenu de B2 a été effacé !" End If End Sub
تطبيق نتيجة هذا الرمز أعلاه:
vbYesNo يشير إلى أن أزرار مربع الحوار التي هي"نعم" و "لا" ، vbYes يتوافق مع الزر "نعم":
If MsgBox("Texte", vbYesNo, "Titre") = vbYes Then 'Si le bouton Oui est cliqué
الاحتمالات المختلفة للوسيطة
الثانية من MSGBOX
القيم 0 هي القيمة الافتراضية.
الحجة الثانية MsgBox يمكن أن تأخذ قيمًا متعددة من هذه المجموعة.
على سبيل المثال ، لمربع حوار به "نعم ، لا ،
إلغاء" + رمز التعجب + الزر 2 افتراضيًا:
MsgBox("Texte", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Titre")
يمكن استبدال الثوابت بقيمتها الخاصة ، تعرض هذه الأسطر
الثلاثة مربع حوار متطابق:
MsgBox("Texte", vbYesNoCancel + vbExclamation + vbDefaultButton2, "Titre") MsgBox("Texte", 3 + 48 + 256, "Titre") MsgBox("Texte", 307, "Titre")
القيم التي تم اعادة ارسالها عبر MSGBOX
|
هنا مثالMsgBox التي تظهر في الحلقة طالما لم يتم النقر فوق الزر "نعم"
Sub humour() Do If MsgBox("Aimez-vous le site Excel-Pratique ?", 36, "Sondage") = vbYes Then Exit Do 'Si réponse = Oui on sort de la boucle End If Loop While True 'Boucle infinie MsgBox ";-)" End Sub
فاصل الأسطر في MSGBOX
للانتقال إلى السطر ، يمكنك إدخال الحرف المقابل لفاصل السطر باستخدام وظيفة CHr ، على سبيل المثال:
MsgBox "Exemple 1" & Chr(10) & "Exemple 2" & Chr(10) & Chr(10) & "Exemple 3"
تطبيق نتيجة هذا الرمز أعلاه:
INPUTBOX أو صندوق الادخال
الوظيفة صندوق الإدخال أو بالفرنسية InputBox يطلب من المستخدم إدخال قيمة في مربع حوار ، على سبيل المثال:
Sub exemple() Dim resultat As String resultat = InputBox("Texte ?", "Titre") 'La variable reçoit la valeur entrée dans l'InputBox If resultat <> "" Then 'Si la valeur est différente de "" on affiche le résultat MsgBox resultat End If End Sub
تطبيق نتيجة هذا الرمز أعلاه:
من الممكن أيضًا الإشارة إلى قيمة افتراضية في الحجة الثالثة:
InputBox("Texte ?", "Titre", "Valeur par défaut")
تطبيق نتيجة هذا الرمز أعلاه: