Jah Ei Sõnumikast (Msgbox) - VBA koodi näited

See õpetus hõlmab seda, kuidas kasutada funktsiooni VBA MsgBox kasutajatele sõnumikastide kuvamiseks (sh sõnumikast YesNo). Samuti võite olla huvitatud meie artiklist sisendkastide kohta.

Funktsioon VBA MsgBox

VBA -s on lihtne kuvada lihtne MsgBox:

1 MsgBox "See on sõnumikast"

Siiski saate teha palju enamat kui kuvada lihtne OK sõnumikast. Vaatame kiiresti keerulist näidet, enne kui sukeldume konkreetsesse …

VBA Jah Ei sõnumikast

Allpool loome sõnumikast koos:

  • Pealkiri „Sõnumikasti pealkiri” ja viip „Tekst”
  • Küsimärgi ikoon
  • Jah / ei valikud lihtsa “OK” asemel
  • Vaikenupp = 'Ei'
123 Hämar vastus täisarvunaanswer = MsgBox ("Tekst", vbQuestion + vbYesNo + vbDefaultButton2, "Sõnumikasti pealkiri")

Sõnumikasti tagastab vbJah või vbEi olenevalt kasutaja valikust. Seejärel saate valiku põhjal teha erinevaid toiminguid:

12345 Kui vastus = vbJah siisMsgBox "Jah"MuiduMsgBox "Ei"Lõpp Kui

Järgmises jaotises näitame teile kõiki sõnumikastide loomisel saadaolevaid valikuid. Seejärel tutvustame teile funktsiooni MsgBox süntaksit ja vaatame lõpuks üle muud sõnumikasti näited.

VBA sõnumikasti valikud

Vaadake allolevat pilti. Siin näete (peaaegu) kõiki sõnumikastide loomisel saadaolevaid valikuid. Pange tähele ikoone ja erinevaid nuppe.

See on ekraanipilt "MessageBox Builderist" meie Premium VBA lisandmoodulist: AutoMacro. MessageBox Builder võimaldab teil kiiresti kujundada soovitud postkasti ja sisestada koodi oma koodimoodulisse. See sisaldab ka palju teisi koodiehitajaid, ulatuslikku VBA kooditeeki ja valikut kodeerimisvahendeid. See peab olema iga VBA arendaja jaoks.

Funktsiooni MsgBox süntaks

MsgBox (viip [, nupud] [, pealkiri] [, abifail, kontekst])

viip (kohustuslik) - See on esmane sõnumikasti tekst.

nuppe - Valige kuvatavad nupud. Kui see välja jätta, siis „OK”. Siin saate määrata ka kuvatava ikooni ja vaikenupu.

tiitel - Pealkiri sõnumikasti ülaosas. Kui see välja jäetakse, kuvatakse praeguse rakenduse nimi (nt Microsoft Excel).

abifail - Määrake abifail, millele pääseb juurde, kui kasutaja klõpsab nupul „Abi”. Kui see on määratud, peate lisama ka konteksti (allpool)

kontekst - Numbriline avaldis, mis tähistab spikri kontekstinumbrit, mis on määratud asjakohasele spikriteemale.

Tõenäoliselt võite ignoreerida abifaili ja konteksti argumente. Ma pole neid kunagi kasutamas näinud.

Kohanda sõnumikasti pealkirja ja viip

Funktsioon MsgBox võimaldab teil kohandada pealkirja ja kiiret sõnumit järgmiselt:

1 Msgbox "Viip", "Pealkiri"

Veel üks näide:

123 Sub MsgBoxPromptTitle ()MsgBox "1. samm on lõpule viidud. 2. sammu käivitamiseks klõpsake nuppu OK.", "1. samm viiest"End Sub

Tähtis! Peate meeles pidama, et ümbritsete oma teksti tsitaatidega.

MessageBox LineBreaks

Samuti saate sõnumikasti viipadele lisada reavaheid vbNewLine abil.

123 Sub MsgBoxPromptTitle_NewLine ()MsgBox "1. samm on lõpule viidud." & vbNewLine & "2. sammu käivitamiseks klõpsake nuppu OK", "1. samm viiest"End Sub

Pange tähele, et me kasutame teksti ühendamiseks sümbolit &. Lisateavet teksti kasutamise ja koos kasutamise ning muude reavahete lisamise võimaluste kohta leiate meie teksti ühendamise artiklist.

MsgBoxi ikoonid

VBA annab teile võimaluse lisada oma sõnumikastidesse üks neljast eelseadistatud ikoonist.

Ikoon Pidev Ikoon
vbInformatsioon
vbKriitiline
vbKüsimus
vbHüüde

Ikoonikonstant tuleks paigutada nupu argumenti:

123 Sub MsgBoxQuestionIcon ()MsgBox "Küsimuse näide", vbQuestionEnd Sub

See loob vaikimisi „OK” sõnumikast küsimuse ikooniga:

Pange tähele, kuidas sisestades kuvab VBA redaktor teile saadaolevaid valikuid:

See on kasulik, kuna te ei pea meeles pidama täpset süntaksi ega ikoonide või nuppude nimesid.

Nüüd demonstreerime iga sõnumikasti ikooni:

MsgBoxi ikoonid - teave

123 Sub MsgBoxInformationIcon ()MsgBox "Teabe näide", vbInformationEnd Sub

MsgBoxi ikoonid - kriitilised

123 Sub MsgBoxCriticalIcon ()MsgBox "kriitiline näide", vbCriticalEnd Sub

MsgBoxi ikoonid - küsimus

123 Sub MsgBoxQuestionIcon ()MsgBox "Küsimuse näide", vbQuestionEnd Sub

MsgBoxi ikoonid - hüüatus

123 Sub MsgBoxExclamationIcon ()MsgBox "hüüumärgi näide", vbExclamationEnd Sub

Allpool räägime erinevate nuppude paigutusega sõnumikastide genereerimisest. Kui valite mõne muu sõnumikasti tüübi, peate nuppude järel lisama ikooni tüübi „+” abil:

123 Sub MsgBoxQuestionIcon ()MsgBox "Kas soovite jätkata?", VbOKCancel + vbQuestionEnd Sub

MsgBoxi muutujad

Siiani oleme töötanud peamiselt vaikimisi „OK” sõnumikastiga. Sõnumikastil OK on ainult üks võimalus: nupu „OK” vajutamine võimaldab koodi jätkata. Siiski saate määrata ka muid nupurühmi: OK / Tühista, Jah / Ei jne.

Sel juhul soovite teha erinevaid toiminguid sõltuvalt sellest, millist nuppu vajutatakse. Vaatame näidet.

Siin on sõnumikast, mille loome:

See on kogu kood (me jagame selle järgnevalt):

123456789101112 Sub MsgBoxVariable ()Hämar vastus täisarvunaanswer = MsgBox ("Kas soovite jätkata?", vbQuestion + vbYesNo)Kui vastus = vbJah siisMsgBox "Jah"MuiduMsgBox "Ei"Lõpp KuiEnd Sub

Esiteks määrame sõnumikasti väljundi täisarvulisele muutujale.

123 Hämar vastus täisarvunaanswer = MsgBox ("Kas soovite jätkata?", vbQuestion + vbYesNo)

Järgmisena kasutame If-Else'i, et teha kindlaks, mida teha, sõltuvalt sellest, millist nuppu vajutatakse:

12345 Kui vastus = vbJah siisMsgBox "Jah"MuiduMsgBox "Ei"Lõpp Kui

Funktsioon MsgBox tagastab täisarvu väärtuse (vahemikus 1-7), nii et määratleme muutuja täisarvuna. Selle asemel, et viidata täisarvunumbrile, võite viidata konstandile (nt vbOK, vbCancel jne). Vaadake seda tabelit, et näha kõiki võimalusi:

Nupp Pidev Väärtus
Okei vbOK 1
Tühista vbTühista 2
Katkesta vbAbort 3
Uuesti proovima vbProovige uuesti 4
Ignoreeri vb Ignoreeri 5
Jah vbJah 6
Ei vbEi 7

Nüüd demonstreerime iga nupurühma:

OK sõnumikast - vbOKOnly

See on tavaline VBA sõnumikast.

123456 Sub MsgBox_OKOnly ()Hämar vastus täisarvunavastus = MsgBox ("OKOnly näide", vbOKOnly)End Sub

OK Tühista sõnumikast - vbOKCancel

123456789101112 Sub MsgBox_OKCancel ()Hämar vastus täisarvunaanswer = MsgBox ("OK Tühista näide", vbOKCancel)Kui vastus = vbOK SiisSõnumikast "OK"MuiduMsgBox "Tühista"Lõpp KuiEnd Sub

Jah Ei Sõnumikast - vbJahEi

123456789101112 Sub MsgBox_YesNo ()Hämar vastus täisarvunaanswer = MsgBox ("Jah Ei näide", vbJahEi)Kui vastus = vbJah siisMsgBox "Jah"MuiduMsgBox "Ei"Lõpp KuiEnd Sub

Jah Ei Tühista sõnumikast - vbYesNoCancel

1234567891011121314 Sub MsgBox_YesNoCancel ()Hämar vastus täisarvunaanswer = MsgBox ("Jah Ei Tühista Näide", vbYesNoCancel)Kui vastus = vbJah siisMsgBox "Jah"MuiduKui vastus = vbEi siisMsgBox "Ei"MuiduMsgBox "Tühista"Lõpp KuiEnd Sub

Katkesta uuesti Proovige ignoreerida sõnumikasti - vbAbortRetryIgnore

1234567891011121314 Sub MsgBox_AbortRetryIgnore ()Hämar vastus täisarvunaanswer = MsgBox ("Katkesta uuesti proovimise ignoreerimise näide", vbAbortRetryIgnore)Kui vastus = vbAbort SiisSõnumiboks "Katkesta"MuiduKui vastus = vbProovige siisMsgBox "Proovi uuesti"MuiduMsgBox "Ignoreeri"Lõpp KuiEnd Sub

Proovige uuesti tühistada sõnumikast - vbRetryCancel

123456789101112 Sub MsgBox_RetryCancel ()Hämar vastus täisarvunaanswer = MsgBox ("Proovi uuesti tühistamise näide", vbRetryCancel)Kui vastus = vbProovige siisMsgBox "Proovi uuesti"MuiduMsgBox "Tühista"Lõpp KuiEnd Sub

VBA MessageBoxi näited

Sõnumikasti kinnitus enne makro käivitamist

See kood kuvab enne makro helistamist kasti Jah ei. Kui klõpsate jah, kutsutakse makro, kui klõpsatakse Ei, makro ei käivitu.

12345678 Sub Msgbox_BeforeRunning ()Hämar vastus täisarvunaanswer = MsgBox ("Kas soovite Macro1 käivitada?", vbQuestion + vbYesNo)Kui vastus = vbJah, siis helistage makro1End Sub

Jah / Ei sõnumikast - välju alamist

Siin kinnitame kasutajaga, kas jätkata makro käitamist. Kui klõpsatakse nupul Ei, väljub kood alamosast, vastasel juhul jätkatakse protseduuri.

12345678910 Sub Msgbox_BeforeRunning ()Hämar vastus täisarvunaanswer = MsgBox ("Kas soovite jätkata?", vbQuestion + vbYesNo)Kui vastus = vbEi, väljuge alammenüüst"Mingi koodEnd Sub

VBA sõnumikast Access VBA -s

Kõik ülaltoodud näited töötavad Access VBA -s täpselt samamoodi nagu Excel VBA -s.

Te aitate arengu ala, jagades leht oma sõpradega

wave wave wave wave wave