Prilagodljivost argumenta gumbov VBA olajša prilagajanje vaših sporočilnih polj v Excelu. Izberete lahko, katere gumbe želite prikazati, določite, ali se prikaže ikona, in določite, kateri gumb je privzeti (privzeti gumb se »klikne«, če uporabnik pritisne Enter).
Za argument gumbov lahko uporabite vgrajene konstante. Če želite, lahko uporabite vrednost namesto konstante (vendar je uporaba vgrajenih konstant veliko lažja).
Če želite uporabiti več kot eno od teh konstant kot argument, jih povežite z operatorjem +. Če želite na primer prikazati okno s sporočilom z gumboma Da in Ne ter ikono klicaja, uporabite naslednji izraz kot drugi argument MsgBox:
vbYesNe + vbExclamation
Ali pa, če želite, da je vaša koda manj razumljiva, uporabite vrednost 52 (to je 4 + 48).
Naslednji primer uporablja kombinacijo konstant za prikaz sporočilnega okna z gumboma Da in gumbom Ne (vbYesNo) ter ikono vprašaja (vbQuestion). Konstanta vbDefaultButton2 označuje drugi gumb (Ne) kot privzeti gumb – to je gumb, ki ga klikne, če uporabnik pritisne Enter. Zaradi preprostosti so te konstante dodeljene spremenljivki Config in nato uporabijo Config kot drugi argument v funkciji MsgBox:
Pod GetAnswer3()
Dim Config As Long
Dim Ans kot celo število
Config = vbYesNo + vbQuestion + vbDefaultButton2
Ans = MsgBox("Obdelati mesečno poročilo?", Config)
Če je Ans = vbYes, potem Zaženi poročilo
Končni sub
Preverite sporočilo, ki ga Excel prikaže, ko izvedete postopek GetAnswer3. Če uporabnik klikne gumb Da, rutina izvede postopek z imenom RunReport. Če uporabnik klikne gumb Ne (ali pritisne Enter), se rutina konča brez dejanja. Ker je bil argument naslova izpuščen v funkciji MsgBox, Excel uporablja privzeti naslov, Microsoft Excel.
Argument gumbov funkcije MsgBox določa, kaj se prikaže v sporočilnem polju.
Naslednja rutina ponuja še en primer uporabe funkcije MsgBox:
Pod GetAnswer4()
Zatemni sporočilo kot niz, naslov kot niz
Dim Config As Integer, Ans As Integer
Sporočilo = "Ali želite obdelati mesečno poročilo?"
Sporočilo = Sporočilo & vbNewLine & vbNewLine
Sporočilo = Sporočilo & "Obdelava mesečnega poročila bo "
Sporočilo = Sporočilo & "vzemi približno 15 minut. To "
Sporočilo = Sporočilo & "bo ustvarilo 30-stransko poročilo za "
Sporočilo = Sporočilo & "vse prodajne pisarne za trenutni "
Sporočilo = Sporočilo & »mesec«.
Naslov = »Trgovno podjetje XYZ«
Konfiguracija = vbYesNo + vbQuestion
Ans = MsgBox(sporočilo, konfiguracija, naslov)
Če je Ans = vbYes, potem Zaženi poročilo
Končni sub
Ta primer prikazuje učinkovit način za določanje daljšega sporočila v sporočilnem polju. Za gradnjo sporočila v nizu stavkov se uporabljata spremenljivka (Msg) in operator povezovanja (&). Konstanta vbNewLine vstavi znak za prelom vrstice, ki začne novo vrstico (uporabite jo dvakrat, da vstavite prazno vrstico). Argument naslov se uporablja za prikaz drugega naslova v sporočilnem polju. Tukaj je sporočilo, ki ga Excel prikaže, ko izvedete ta postopek.
To pogovorno okno, ki ga prikaže funkcija MsgBox, prikazuje naslov, ikono in dva gumba.
Za vrnjeno vrednost funkcije MsgBox lahko uporabite konstante (kot sta vbYes in vbNo). Tukaj je še nekaj drugih konstant.
Konstantno |
vrednost |
Kaj pomeni |
vbOK |
1 |
Uporabnik je kliknil V redu. |
vbPrekliči |
2 |
Uporabnik je kliknil Prekliči. |
vbAbort |
3 |
Uporabnik je kliknil Prekini. |
vbPoskusi znova |
4 |
Uporabnik je kliknil Ponovi. |
vbIgnor |
5 |
Uporabnik je kliknil Prezri. |
vbDa |
6 |
Uporabnik je kliknil Da. |
št. vb |
7 |
Uporabnik je kliknil Ne. |
In to je skoraj vse, kar morate vedeti o funkciji MsgBox. Vendar pa uporabljajte sporočilna polja previdno. Običajno ni razloga za prikazovanje polj s sporočili, ki nimajo namena. Ljudje so na primer ponavadi jezni, ko vsak dan vidijo okence s sporočilom Dobro jutro. Hvala, ker ste naložili delovni zvezek Projekcija proračuna.