Jā Nē ziņojumu lodziņš (Msgbox) - VBA koda piemēri

Š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
vbJā 6
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.

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave