Indholdsfortegnelse:
- Du kan bruge MsgBox-funktionen på to måder:
- Hvis du viser en meddelelsesboks, der har mere end blot en OK-knap, vil du sikkert vide, hvilken knap brugeren klikker på. Du har held. MsgBox-funktionen kan returnere en værdi, der repræsenterer hvilken knap der klikkes på. Du kan tildele resultatet af MsgBox-funktionen til en variabel.
Video: Brug hjertestarter - sådan bruges en hjertestarter. 2024
Du er formentlig bekendt med VBA MsgBox-funktionen. MsgBox-funktionen, som accepterer argumenterne vist nedenfor, er praktisk til at vise information og få enkel brugerindgang. Det er i stand til at få brugerinddata, fordi det er en funktion. En funktion, som du sikkert ved, returnerer en værdi. I tilfælde af MsgBox-funktionen bruger den en dialogboks for at få den værdi, den returnerer. Fortsæt læsning for at se præcis, hvordan det virker.
Argument | Hvad det påvirker |
---|---|
Prompt | Teksten Excel vises i meddelelsesboksen |
Knapper | Et nummer, der angiver hvilke knapper (sammen med hvilket ikon)
vises i meddelelsesboksen (valgfri) |
Titel | Teksten, der vises i meddelelsesboksens titellinje
(valgfri) |
Her er en forenklet version af syntaksen til MsgBox-funktionen: <
MsgBox (prompt [knapper] [titel])Visning af en simpel meddelelsesboks
Du kan bruge MsgBox-funktionen på to måder:
For blot at vise en besked til brugeren:
-
I dette tilfælde er du ligeglad med resultatet, der returneres af funktionen. For at få et svar fra brugeren:
-
I dette tilfælde er du opmærksom på resultatet, der returneres af funktionen. Resultatet afhænger af den knap, som brugeren klikker på.
Sub MsgBoxDemo () MsgBox "Klik på OK for at starte udskrivningen. "Ark (" Resultater "). PrintOut End Sub
Se nedenfor for at se, hvordan denne meddelelsesboks ser ud. I dette tilfælde starter udskrivning, når brugeren klikker på OK. Kan du bemærke, at der ikke er nogen måde at annullere udskrivningen på? Fortsæt læsning for at finde ud af, hvordan du løser det.
En simpel meddelelsesboks.
Få svar fra en meddelelsesboksHvis du viser en meddelelsesboks, der har mere end blot en OK-knap, vil du sikkert vide, hvilken knap brugeren klikker på. Du har held. MsgBox-funktionen kan returnere en værdi, der repræsenterer hvilken knap der klikkes på. Du kan tildele resultatet af MsgBox-funktionen til en variabel.
I følgende kode bruges nogle indbyggede konstanter, der gør det nemt at arbejde med de værdier, der returneres af MsgBox:
Sub GetAnswer () Dim Ans As Long Ans = MsgBox ("Start udskrivning?", VbYesNo) Vælg Case Ans Case vbYes ActiveSheet. PrintOut Case vbNo MsgBox "Udskrivning annulleret" Slut Vælg Slut Sub
Konstant
Værdi | Hvad det gør | vbOKOnly |
---|---|---|
0 | Viser kun OK-knappen. | vbOKCancel |
1 | Viser OK og Annuller knapper. | vbAbortRetryIgnore |
2 | Displays Afbryd, Prøv igen og Ignorer knapper. | vbYesNoCancel |
3 | Viser Ja, Nej og Annuller knapper. | vbYesNo |
4 | Viser ja og nej knapper. | vbRetryCancel |
5 | Displayer Prøv igen og Annuller knapper. | vbCritical |
16 | Viser ikonet for kritisk besked. | vbQuestion |
32 | Viser ikonet Advarselssøgning. | vbExclamation |
48 | Viser advarselsmeddelelsesikonet. | vbInformation |
64 | Viser informationsmeddelelsesikon. | vbDefaultButton1 |
0 | Første knap er standard. | vbDefaultButton2 |
256 | Andet knap er standard. | vbDefaultButton3 |
512 | Tredje knap er standard. | vbDefaultButton4 |
768 | Fjerde knap er standard. | Se, hvordan det ser ud. Når du udfører denne procedure, er ans-variablen tildelt en værdi af enten vbYes eller vbNo, afhængigt af hvilken knap brugeren klikker på. Select Case-sætningen anvender ans-værdien for at bestemme hvilken handling koden skal udføre. |
En simpel meddelelsesboks med to knapper.
Du kan også bruge MsgBox-funktionsresultatet uden at bruge en variabel, som følgende eksempel viser:Sub GetAnswer2 () Hvis MsgBox ("Start print?", VbYesNo) = vbYes Then '… [kode hvis Ja er klikket] … Else '… [kode hvis Ja ikke er klikket] … Slut Hvis slutdel