Šajā apmācībā tiks apskatīts, kā izmantot funkciju VBA MsgBox, lai lietotājiem parādītu ziņojumu kastes (ieskaitot ziņojuma lodziņu YesNo). Jūs varētu interesēt arī mūsu raksts par ievades lodziņiem.
VBA MsgBox funkcija
VBA ir viegli parādīt vienkāršu MsgBox:
1 | MsgBox "Šī ir ziņojumu kaste" |
Tomēr jūs varat darīt daudz vairāk, nekā parādīt vienkāršu OK ziņojumu lodziņu. Ātri apskatīsim sarežģītu piemēru, pirms iedziļināties specifikā …
VBA JāNē ziņojumu lodziņa
Zemāk mēs izveidosim ziņojumu lodziņu ar:
- Virsraksts “Ziņojumu lodziņa nosaukums” un uzvedne “Teksts”
- Jautājuma ikona
- Jā / Nē opcijas vienkārša “Labi” vietā
- Noklusējuma poga = “Nē”
123 | Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Teksts", vbQuestion + vbJāNē + vbDefaultButton2, "Ziņojuma lodziņa nosaukums") |
Atkarībā no lietotāja izvēles ziņojuma lodziņā tiks parādīts vbJā vai vbNē. Pēc tam jūs varat veikt dažādas darbības, pamatojoties uz izvēli:
12345 | Ja atbilde = vbJā TadMsgBox "Jā"CitādiMsgBox "Nē"Beigas Ja |
Nākamajā sadaļā mēs parādīsim visas iespējas, kas jums pieejamas, veidojot ziņojumu lodziņus. Tad mēs jūs iepazīstināsim ar MsgBox funkcijas sintaksi un visbeidzot apskatīsim citus ziņojumu lodziņu piemērus.
VBA ziņojumu lodziņa opcijas
Apskatiet zemāk redzamo attēlu. Šeit jūs redzēsit (gandrīz) visas iespējas, kas jums pieejamas, veidojot ziņojumu lodziņus. Ņemiet vērā ikonas un dažādas pogas.
Šis ir mūsu MessageBox Builder ekrānuzņēmums no mūsu Premium VBA pievienojumprogrammas: AutoMacro. MessageBox Builder ļauj ātri izveidot vēlamo ziņojumu kastīti un ievietot kodu koda modulī. Tajā ir arī daudzi citi kodu veidotāji, plaša VBA kodu bibliotēka un kodēšanas rīku sortiments. Tas ir nepieciešams jebkuram VBA izstrādātājam.
MsgBox funkcijas sintakse
MsgBox (uzvedne [, pogas] [, nosaukums] [, palīdzības fails, konteksts])
uzvedne (obligāti) - Šis ir galvenais ziņojuma lodziņa teksts.
pogas - Izvēlieties, kuras pogas parādīt. Ja tas tiek izlaists, “Labi”. Šeit jūs varat arī norādīt, kuru ikonu parādīt, un noklusējuma pogu.
titulu - virsraksts ziņojuma lodziņa augšdaļā. Ja tas netiek izlaists, tiek parādīts pašreizējās lietojumprogrammas nosaukums (piemēram, Microsoft Excel).
palīdzības fails - Norādiet palīdzības failu, kuram var piekļūt, kad lietotājs noklikšķina uz pogas “Palīdzība”. Ja tas ir norādīts, jums jāpievieno arī konteksts (zemāk)
kontekstā - Ciparu izteiksme, kas apzīmē palīdzības konteksta numuru, kas piešķirts attiecīgajai palīdzības tēmai.
Jūs droši vien varat ignorēt palīdzības failu un konteksta argumentus. Es nekad neesmu redzējis tos lietojam.
Pielāgojiet ziņojuma lodziņa nosaukumu un uzvedni
Funkcija MsgBox ļauj pielāgot virsrakstu un uzvednes ziņojumus šādi:
1 | Msgbox "uzvedne", "virsraksts" |
Vēl viens piemērs:
123 | Sub MsgBoxPromptTitle ()MsgBox "1. darbība ir pabeigta. Noklikšķiniet uz Labi, lai palaistu 2. darbību.", "1. darbība no 5"Beigu apakš |
Svarīgs! Jums jāatceras, ka tekstu ieskauj citāti.
MessageBox LineBreaks
Varat arī pievienot rindiņu pārtraukumus ziņojumu lodziņa uzvednēm, izmantojot “vbNewLine”.
123 | Sub MsgBoxPromptTitle_NewLine ()MsgBox "1. darbība ir pabeigta." & vbNewLine & "Noklikšķiniet uz Labi, lai palaistu 2. darbību.", "1. darbība no 5"Beigu apakš |
Ņemiet vērā, ka mēs izmantojam simbolu &, lai tekstu savienotu kopā. Mūsu rakstā par teksta savienošanu varat uzzināt vairāk par teksta izmantošanu & ar tekstu un citām līniju pārtraukumu ievietošanas iespējām.
MsgBox ikonas
VBA ļauj ziņu lodziņiem pievienot vienu no četrām iepriekš izveidotām ikonām:
Ikona Pastāvīga | Ikona |
---|---|
vbInformācija | |
vbKritiski | |
vbJautājums | |
vbIzsaukums |
Ikonu konstante jāievieto pogas argumentā:
123 | Sub MsgBoxQuestionIcon ()MsgBox "Jautājuma piemērs", vbQuestionBeigu apakš |
Tādējādi tiks ģenerēts noklusējuma ziņojumu lodziņš ar jautājuma ikonu:
Ievērojiet, kā, rakstot, VBA redaktors parādīs jums pieejamās iespējas:
Tas ir noderīgi, jo jums nav jāatceras precīza sintakse vai ikonu vai pogu nosaukumi.
Tagad mēs demonstrēsim katru ziņojumu lodziņa ikonu:
MsgBox ikonas - informācija
123 | Sub MsgBoxInformationIcon ()MsgBox "Informācijas piemērs", vbInformationBeigu apakš |
MsgBox ikonas - kritiskas
123 | Sub MsgBoxCriticalIcon ()MsgBox "Kritiskais piemērs", vbCriticalBeigu apakš |
MsgBox ikonas - jautājums
123 | Sub MsgBoxQuestionIcon ()MsgBox "Jautājuma piemērs", vbQuestionBeigu apakš |
MsgBox ikonas - izsaukums
123 | Sub MsgBoxExclamationIcon ()MsgBox "Izsaukuma piemērs", vbExclamationBeigu apakš |
Tālāk mēs runāsim par ziņojumu lodziņu ģenerēšanu ar dažādiem pogu izkārtojumiem. Ja izvēlaties citu ziņojumu lodziņa veidu, ikonu tips jāpievieno aiz pogām, izmantojot “+”:
123 | Sub MsgBoxQuestionIcon ()MsgBox "Vai vēlaties turpināt?", VbOKCancel + vbQuestionBeigu apakš |
MsgBox mainīgie
Līdz šim mēs esam strādājuši galvenokārt ar noklusējuma ziņojumu lodziņu “Labi”. Labo ziņojumu lodziņam ir tikai viena iespēja: nospiežot “Labi”, kods var turpināties. Tomēr varat norādīt arī citas pogu grupas: Labi / Atcelt, Jā / Nē utt.
Tādā gadījumā jūs vēlaties veikt dažādas darbības, pamatojoties uz to, kura poga ir nospiesta. Apskatīsim piemēru.
Šeit ir ziņojumu lodziņš, kuru mēs ģenerēsim:
Šis ir viss kods (mēs to sadalīsim tālāk):
123456789101112 | Sub MsgBoxVariable ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Vai vēlaties turpināt?", vbQuestion + vbYesNo)Ja atbilde = vbJā TadMsgBox "Jā"CitādiMsgBox "Nē"Beigas JaBeigu apakš |
Vispirms mēs piešķiram ziņu kastes izvadi veselam skaitļa mainīgajam.
123 | Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Vai vēlaties turpināt?", vbQuestion + vbYesNo) |
Tālāk mēs izmantojam If-Else, lai noteiktu, kas jādara, pamatojoties uz nospiesto pogu:
12345 | Ja atbilde = vbJā TadMsgBox "Jā"CitādiMsgBox "Nē"Beigas Ja |
Funkcija MsgBox atgriež veselu skaitli (no 1 līdz 7), tāpēc mēs definējam mainīgo kā veselu skaitli. Tomēr tā vietā, lai atsauktos uz veselu skaitli, varat atsaukties uz konstanti (piem., VbOK, vbCancel u.c.). Apskatiet šo tabulu, lai redzētu visas iespējas:
Poga | Pastāvīga | Vērtība |
---|---|---|
labi | vbOK | 1 |
Atcelt | vbAtcelt | 2 |
Pārtraukt | vbAbort | 3 |
Mēģiniet vēlreiz | vbMēģināt | 4 |
Ignorēt | vb Ignorēt | 5 |
Jā | vbJā | 6 |
Nē | vbNē | 7 |
Tagad mēs demonstrēsim katru pogu grupu:
Labi ziņojumu lodziņš - tikai vbOKOnly
Šī ir standarta VBA ziņojumu kastīte.
123456 | Sub MsgBox_OKOnly ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("OKOnly example", vbOKOnly)Beigu apakš |
Labi Atcelt ziņojumu lodziņu - vbOKCancel
123456789101112 | Sub MsgBox_OKCancel ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Labi Atcelt piemēru", vbOKCancel)Ja atbilde = vbOK TadMsgBox "Labi"CitādiMsgBox "Atcelt"Beigas JaBeigu apakš |
Jā Nē Ziņojumu lodziņš - vbJāNē
123456789101112 | Sub MsgBox_YesNo ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Jā Nē Piemērs", vbJāNē)Ja atbilde = vbJā TadMsgBox "Jā"CitādiMsgBox "Nē"Beigas JaBeigu apakš |
Jā Nē Atcelt ziņojumu lodziņu - vbYesNoCancel
1234567891011121314 | Sub MsgBox_YesNoCancel ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Jā Nē Atcelt piemēru", vbYesNoCancel)Ja atbilde = vbJā TadMsgBox "Jā"CitādiJa atbilde = vbNē TadMsgBox "Nē"CitādiMsgBox "Atcelt"Beigas JaBeigu apakš |
Pārtraukt atkārtotu mēģinājumu Ignorēt ziņojumu lodziņu - vbAbortRetryIgnore
1234567891011121314 | Sub MsgBox_AbortRetryIgnore ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Pārtraukt atkārtotu mēģinājumu ignorēt piemēru", vbAbortRetryIgnore)Ja atbilde = vbAbort TadMsgBox "Abort"CitādiJa atbilde = vbMēģiniet pēc tamMsgBox "Mēģināt vēlreiz"CitādiMsgBox "Ignorēt"Beigas JaBeigu apakš |
Atkārtoti atcelt ziņojumu lodziņu - vbRetryCancel
123456789101112 | Sub MsgBox_RetryCancel ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Atkārtotas atcelšanas piemērs", vbRetryCancel)Ja atbilde = vbMēģiniet pēc tamMsgBox "Mēģināt vēlreiz"CitādiMsgBox "Atcelt"Beigas JaBeigu apakš |
VBA MessageBox piemēri
Ziņojumu lodziņa apstiprinājums pirms makro palaišanas
Pirms makro izsaukšanas šis kods parādīs lodziņu Jā nē. Ja tiek noklikšķināts uz Jā, tiek izsaukts makro, ja tiek noklikšķināts uz Nē, makro nedarbojas.
12345678 | Sub Msgbox_BeforeRunning ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Vai vēlaties palaist Macro1?", vbQuestion + vbYesNo)Ja atbilde = vbJā, tad zvaniet uz makro1Beigu apakš |
Jā / Nē ziņojumu lodziņš - iziet no apakš
Šeit mēs kopā ar lietotāju apstiprināsim, vai turpināt makro darbību. Ja tiek noklikšķināts uz Nē, kods iziet no apakšgrupas, pretējā gadījumā procedūra turpināsies.
12345678910 | Sub Msgbox_BeforeRunning ()Blāva atbilde Kā vesels skaitlisatbilde = MsgBox ("Vai vēlaties turpināt?", vbQuestion + vbYesNo)Ja atbilde = vbNē, tad izejiet no apakšsadaļas'Kāds kodsBeigu apakš |
VBA ziņojumu lodziņš Access VBA
Visi iepriekš minētie piemēri Access VBA darbojas tieši tāpat kā programmā Excel VBA.