Kyllä Ei Viestiruutu (Msgbox) - Esimerkkejä VBA -koodista

Tämä opetusohjelma kattaa kuinka käyttää VBA MsgBox -toimintoa viestien laatikoiden näyttämiseen käyttäjille (mukaan lukien YesNo Messagebox). Saatat myös olla kiinnostunut InputBoxes -artikkelistamme.

VBA MsgBox -toiminto

VBA: ssa on helppo näyttää yksinkertainen MsgBox:

1 MsgBox "Tämä on viestilaatikko"

Voit kuitenkin tehdä paljon enemmän kuin näyttää yksinkertaisen OK -viestiruudun. Katsotaanpa nopeasti monimutkaista esimerkkiä ennen kuin menemme yksityiskohtiin …

VBA Kyllä Ei viestilaatikkoa

Alla luomme viestiruudun, jossa on:

  • Otsikko "Viestiruudun otsikko" ja kehote "Teksti"
  • Kysymyskuvake
  • Kyllä / Ei vaihtoehtoja yksinkertaisen "OK" sijaan
  • Oletuspainike = ’Ei’
123 Hämärä vastaus kokonaislukunaanswer = MsgBox ("Teksti", vbQuestion + vbYesNo + vbDefaultButton2, "Message Box Title")

Viestiruutu palauttaa vbYes tai vbNo käyttäjän valinnan mukaan. Tämän jälkeen voit suorittaa erilaisia ​​toimintoja valinnan mukaan:

12345 Jos vastaus = vbKylläMsgBox "Kyllä"MuuMsgBox "Ei"Loppu Jos

Seuraavassa osiossa näytämme sinulle kaikki vaihtoehdot, joita voit käyttää viestiruutujen luomiseen. Sitten esittelemme sinulle MsgBox -toiminnon syntaksin ja lopuksi käymme läpi muita esimerkkejä viestiruudusta.

VBA -viestilaatikon asetukset

Katso alla olevaa kuvaa. Täällä näet (melkein) kaikki käytettävissä olevat vaihtoehdot, kun luot viestilaatikoita. Huomaa kuvakkeet ja eri painikkeet.

Tämä on kuvakaappaus ”MessageBox Builderista” Premium VBA -laajennuksestamme: AutoMacro. MessageBox Builderin avulla voit suunnitella nopeasti haluamasi viestilaatikon ja lisätä koodin koodimoduuliin. Se sisältää myös monia muita koodinrakentajia, laajan VBA -koodikirjaston ja valikoiman koodaustyökaluja. Se on pakollinen jokaiselle VBA-kehittäjälle.

MsgBox -toiminnon syntaksi

MsgBox (kehote [, painikkeet] [, otsikko] [, ohjetiedosto, konteksti])

kehote (pakollinen) - Tämä on ensisijainen viestiruudun teksti.

painikkeita - Valitse näytettävät painikkeet. Jos se jätetään pois, "vain". Tässä voit myös määrittää näytettävän kuvakkeen ja oletuspainikkeen.

otsikko - Otsikko viestiruudun yläosassa. Jos se jätetään pois, nykyisen sovelluksen nimi näytetään (esim. Microsoft Excel).

ohjetiedosto - Määritä ohjetiedosto, jota voidaan käyttää, kun käyttäjä napsauttaa Ohje -painiketta. Jos määritetty, sinun on myös lisättävä konteksti (alla)

kontekstissa - Numeerinen lauseke, joka edustaa ohjeen kontekstinumeroa, joka on määritetty asianmukaiseen ohjeaiheeseen.

Voit luultavasti jättää ohjetiedoston ja kontekstiargumentit huomiotta. En ole koskaan nähnyt niitä käytettynä.

Mukauta viestiruudun otsikko ja kehote

MsgBox -toiminnon avulla voit muokata otsikkoa ja kehotusviestejä seuraavasti:

1 Msgbox "Kysy", "Otsikko"

Toinen esimerkki:

123 Sub MsgBoxPromptTitle ()MsgBox "Vaihe 1 valmis. Suorita vaihe 2. napsauttamalla OK." ,, "Vaihe 1/5"End Sub

Tärkeä! Muista ympäröidä tekstisi lainauksilla.

MessageBox LineBreaks

Voit myös lisätä rivinvaihtoja viestikentän kehotteisiin vbNewLine -toiminnolla.

123 Sub MsgBoxPromptTitle_NewLine ()MsgBox "Vaihe 1 valmis." & vbNewLine & "Napsauta OK suorittaaksesi vaihe 2.", "Vaihe 1/5"End Sub

Huomaa, että liitämme tekstin yhteen & -merkin avulla. Voit oppia lisää tekstin kanssa ja tekstin kanssa käyttämisestä ja muista rivinvaihtojen lisäämisvaihtoehdoista artikkelimme liittymisestä tekstiin.

MsgBox -kuvakkeet

VBA antaa sinulle mahdollisuuden lisätä yhden neljästä valmiista kuvakkeesta viestikenttiin:

Kuvake Jatkuva Kuvake
vbTiedot
vbKriittinen
vbKysymys
vb Huutomerkki

Ikonivakio tulee sijoittaa painike -argumenttiin:

123 Sub MsgBoxQuestionIcon ()MsgBox "Kysymysesimerkki", vbQuestionEnd Sub

Tämä luo oletusviestikentän OK, jossa on kysymyskuvake:

Huomaa, kuinka kirjoittaessasi VBA -editori näyttää sinulle käytettävissä olevat vaihtoehdot:

Tästä on hyötyä, koska sinun ei tarvitse muistaa tarkkaa syntaksia tai kuvakkeiden tai painikkeiden nimiä.

Nyt esittelemme jokaisen viestiruudun kuvakkeen:

MsgBox -kuvakkeet - tiedot

123 Sub MsgBoxInformationIcon ()MsgBox "Tietoesimerkki", vbInformationEnd Sub

MsgBox -kuvakkeet - kriittisiä

123 Sub MsgBoxCriticalIcon ()MsgBox "Kriittinen esimerkki", vbCriticalEnd Sub

MsgBox -kuvakkeet - kysymys

123 Sub MsgBoxQuestionIcon ()MsgBox "Kysymysesimerkki", vbQuestionEnd Sub

MsgBox -kuvakkeet - Huutomerkki

123 Sub MsgBoxExclamationIcon ()MsgBox "Huutomiesesimerkki", vbExclamationEnd Sub

Alla puhumme viestiruutujen luomisesta eri painikkeilla. Jos valitset toisen viestiruudun tyypin, sinun on liitettävä kuvaketyyppi painikkeiden jälkeen "+" -merkillä:

123 Sub MsgBoxQuestionIcon ()MsgBox "Haluatko jatkaa?", VbOKCancel + vbQuestionEnd Sub

MsgBox -muuttujat

Toistaiseksi olemme työskennelleet ensisijaisesti OK -oletusviestiruudun kanssa. OK -viestiruudussa on vain yksi vaihtoehto: OK -painikkeen painaminen sallii koodin jatkumisen. Voit kuitenkin määrittää myös muita painikkeiden ryhmiä: OK / Peruuta, Kyllä / Ei jne.

Tässä tapauksessa haluat suorittaa erilaisia ​​toimintoja sen mukaan, mitä painiketta painetaan. Katsotaanpa esimerkkiä.

Tässä on viestikenttä, jonka luomme:

Tämä on koko koodi (jaamme sen seuraavaksi):

123456789101112 Sub MsgBoxVariable ()Hämärä vastaus kokonaislukunaanswer = MsgBox ("Haluatko jatkaa?", vbQuestion + vbYesNo)Jos vastaus = vbKylläMsgBox "Kyllä"MuuMsgBox "Ei"Loppu JosEnd Sub

Ensin määritämme viestiruudun lähdön kokonaislukumuuttujalle.

123 Hämärä vastaus kokonaislukunaanswer = MsgBox ("Haluatko jatkaa?", vbQuestion + vbYesNo)

Seuraavaksi määritämme If-Else-toiminnolla, mitä tehdä sen perusteella, mitä painiketta painetaan:

12345 Jos vastaus = vbKylläMsgBox "Kyllä"MuuMsgBox "Ei"Loppu Jos

MsgBox-funktio palauttaa kokonaislukuarvon (1-7), joten määritämme muuttujan kokonaislukutyypiksi. Kokonaislukuun viittaamisen sijaan voit kuitenkin viitata vakioon (esim. VbOK, vbCancel jne.). Katso tästä taulukosta kaikki vaihtoehdot:

Painike Jatkuva Arvo
OK vbOK 1
Peruuttaa vbPeruuta 2
Keskeyttää vbAbort 3
Yritä uudelleen vbYritä uudelleen 4
Jättää huomiotta vbIlmoita 5
Joo vbKyllä 6
Ei vbEi 7

Esittelemme nyt kunkin painikeryhmän:

OK -viestiruutu - vbOKOnly

Tämä on vakio VBA -viestilaatikko.

123456 Sub MsgBox_OKOnly ()Hämärä vastaus kokonaislukunavastaus = MsgBox ("OKOnly -esimerkki", vbOKOnly)End Sub

OK Peruuta viestiruutu - vbOKCancel

123456789101112 Sub MsgBox_OKCancel ()Hämärä vastaus kokonaislukunaanswer = MsgBox ("OK Peruuta esimerkki", vbOKCancel)Jos vastaus = vbOK SittenMsgBox "OK"MuuMsgBox "Peruuta"Loppu JosEnd Sub

Kyllä Ei Viestiruutu - vbKyllä

123456789101112 Sub MsgBox_YesNo ()Hämärä vastaus kokonaislukunavastaus = MsgBox ("Kyllä Ei Esimerkki", vbYesNo)Jos vastaus = vbKylläMsgBox "Kyllä"MuuMsgBox "Ei"Loppu JosEnd Sub

Kyllä Ei Peruuta viestilaatikko - vbYesNoCancel

1234567891011121314 Sub MsgBox_YesNoCancel ()Hämärä vastaus kokonaislukunaanswer = MsgBox ("Kyllä Ei Peruuta Esimerkki", vbYesNoCancel)Jos vastaus = vbKylläMsgBox "Kyllä"MuutenJos vastaus = vbEi sittenMsgBox "Ei"MuuMsgBox "Peruuta"Loppu JosEnd Sub

Keskeytä uudelleen Yritä jättää huomiotta viestiruutu - vbAbortRetryIgnore

1234567891011121314 Sub MsgBox_AbortRetryIgnore ()Hämärä vastaus kokonaislukunaanswer = MsgBox ("Abort Retry Ignore Example", vbAbortRetryIgnore)Jos vastaus = vbAbort SittenMsgBox "Keskeytä"MuutenJos vastaus = vbYritä uudelleenMsgBox "Yritä uudelleen"MuuMsgBox "Ohita"Loppu JosEnd Sub

Yritä uudelleen peruuttaa viestiruutu - vbRetryCancel

123456789101112 Sub MsgBox_RetryCancel ()Hämärä vastaus kokonaislukunaanswer = MsgBox ("Yritä peruuttaa esimerkki uudelleen", vbRetryCancel)Jos vastaus = vbYritä uudelleenMsgBox "Yritä uudelleen"MuuMsgBox "Peruuta"Loppu JosEnd Sub

Esimerkkejä VBA MessageBoxista

Viestiruudun vahvistus ennen makron suorittamista

Tämä koodi näyttää Kyllä Ei Viesti -ruudun ennen makron kutsumista. Jos Kyllä -painiketta napsautetaan, makroa kutsutaan, jos Ei -painiketta, makro ei toimi.

12345678 Sub Msgbox_BeforeRunning ()Hämärä vastaus kokonaislukunaanswer = MsgBox ("Haluatko käyttää Macro1?", vbQuestion + vbYesNo)Jos vastaus = vbKyllä, soita sitten Makro1End Sub

Kyllä / Ei -viestiruutu - Poistu aliosasta

Tässä vahvistamme käyttäjän kanssa, jatketaanko makron suorittamista. Jos napsautetaan Ei, koodi poistuu aliosasta, muuten menettely jatkuu.

12345678910 Sub Msgbox_BeforeRunning ()Hämärä vastaus kokonaislukunaanswer = MsgBox ("Haluatko jatkaa?", vbQuestion + vbYesNo)Jos vastaus = vbEi, lopeta sitten Sub'Joku koodiEnd Sub

VBA -viestiruutu Access VBA: ssa

Kaikki yllä olevat esimerkit toimivat täsmälleen samalla tavalla Access VBA: ssa kuin Excel VBA: ssa.

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave