Verjetno poznate funkcijo VBA MsgBox. Funkcija MsgBox, ki sprejema argumente, prikazane spodaj, je priročna za prikaz informacij in pridobivanje preprostega uporabniškega vnosa. Lahko pridobi uporabniški vnos, ker je funkcija. Funkcija, kot verjetno veste, vrne vrednost. V primeru funkcije MsgBox uporablja pogovorno okno, da dobi vrednost, ki jo vrne. Nadaljujte z branjem, da vidite, kako natančno deluje.
Prepir |
Na kaj vpliva |
Poziv |
V sporočilnem polju se prikaže besedilo Excel |
Gumbi |
Številka, ki določa, kateri gumbi (skupaj s kakšno ikono) se
prikažejo v sporočilnem polju (izbirno) |
Naslov |
Besedilo, ki se prikaže v naslovni vrstici sporočilnega polja
(izbirno) |
Tukaj je poenostavljena različica sintakse funkcije MsgBox:
MsgBox(poziv[, gumbi][, naslov])
Prikaz preprostega sporočilnega polja
Funkcijo MsgBox lahko uporabite na dva načina:
-
Če želite preprosto prikazati sporočilo uporabniku: V tem primeru vam ni mar za rezultat, ki ga vrne funkcija.
-
Če želite dobiti odgovor od uporabnika: V tem primeru vas zanima rezultat, ki ga vrne funkcija. Rezultat je odvisen od gumba, ki ga uporabnik klikne.
Če funkcijo MsgBox uporabljate samostojno, ne vključujte oklepajev okoli argumentov. Naslednji primer preprosto prikaže sporočilo in ne vrne rezultata. Ko se prikaže sporočilo, se koda ustavi, dokler uporabnik ne klikne V redu.
Sub MsgBoxDemo()
MsgBox »Kliknite V redu za začetek tiskanja.«
Listi(»Rezultati«).Natisni
Končni sub
Spodaj si oglejte, kako izgleda to sporočilo. V tem primeru se tiskanje začne, ko uporabnik klikne V redu. Ali opazite, da tiskanja ni mogoče preklicati? Nadaljujte z branjem, če želite izvedeti, kako to popraviti.
Preprosto sporočilo.
Prejemanje odgovora iz sporočilnega polja
Če prikažete sporočilo, ki vsebuje več kot samo gumb V redu, boste verjetno želeli vedeti, kateri gumb uporabnik klikne. Imaš srečo. Funkcija MsgBox lahko vrne vrednost, ki predstavlja, kateri gumb je kliknjen. Rezultat funkcije MsgBox lahko dodelite spremenljivki.
V naslednji kodi so uporabljene nekatere vgrajene konstante, ki olajšajo delo z vrednostmi, ki jih vrne MsgBox:
Pod GetAnswer()
Dim Ans As Long
Ans = MsgBox(»Začni tiskati?«, vbYesNo)
Izberite Primer Ans
Primer vbDa
ActiveSheet.PrintOut
Primer vbšt
MsgBox “Tiskanje preklicano”
Konec Izberite
Končni sub
Konstantno |
vrednost |
Kaj počne |
Samo vbOK |
0 |
Prikaže samo gumb OK. |
vbOKPrekliči |
1 |
Prikaže gumba V redu in Prekliči. |
vbAbortRetryIgnore |
2 |
Prikaže gumbe Prekini, Ponovi in Prezri. |
vbYesNoCancel |
3 |
Prikaže gumbe Da, Ne in Prekliči. |
vbDaNe |
4 |
Prikaže gumba Da in Ne. |
vbPoskusiPrekliči |
5 |
Prikaže gumba Ponovi in Prekliči. |
vbCritical |
16 |
Prikaže ikono kritičnega sporočila. |
vbQuestion |
32 |
Prikaže ikono opozorilne poizvedbe. |
vbExclamation |
48 |
Prikaže ikono opozorilnega sporočila. |
vbInformacije |
64 |
Prikaže ikono informacijskega sporočila. |
vbDefaultButton1 |
0 |
Prvi gumb je privzet. |
vbDefaultButton2 |
256 |
Drugi gumb je privzet. |
vbDefaultButton3 |
512 |
Tretji gumb je privzet. |
vbDefaultButton4 |
768 |
Četrti gumb je privzet. |
Preverite, kako izgleda. Ko izvedete ta postopek, je spremenljivki Ans dodeljena vrednost vbYes ali vbNo, odvisno od tega, kateri gumb uporabnik klikne. Stavek Select Case uporablja vrednost Ans, da določi, katero dejanje naj izvede koda.
Preprosto sporočilo z dvema gumboma.
Rezultat funkcije MsgBox lahko uporabite tudi brez uporabe spremenljivke, kot dokazuje naslednji primer:
Pod GetAnswer2()
Če je MsgBox(»Začni tiskati?«, vbYesNo) = vbYes Potem
' ...[koda, če kliknete Da]...
Drugače
' ...[koda, če ne kliknete Da]...
Konec Če
Končni sub