Lucrul cu dialogurile, Excel pentru toate
Fără îndoială că fiecare dezvoltator face ca utilizatorul simplu de locuri de muncă un pic, dar este mai ușor. Și, desigur, uneori, nevoie doar de feedback de la utilizator atunci când anumite programe. Despre ea și vreau să vă spun astăzi.
Ceea ce vreau să spun: există situații în care este necesar:
- pentru a informa utilizatorul a codului;
- primi confirmarea de la utilizator pentru a efectua o anumită acțiune;
- să solicite orice informație (număr, de căutare de text, intervalul de căutare, etc.).
Pur și simplu cere și confirmarea se poate face cu deja built-in casetele de dialog.
Din principalele există trei tipuri:
MsgBox - să informeze utilizatorul cu posibilitatea de a caseta cerere de acțiune (Da, Nu, Anulare, etc);
InputCasuta - informații text din fereastra de interogare de utilizator (de căutare de text, data, numărul etc.);
Application.InputBox - un pic mai mult decât o versiune InputCasuta extinsă cu posibilitatea de a specifica nu numai textul și numerele, dar, de asemenea, a evidenția o serie de celule (de exemplu, pentru a indica celulele în care pentru a căuta valoare sau de a fi vopsit).
INFORMAȚII DIALOG MsgBox
Cel mai simplu tip. Este folosit pentru a informa utilizatorul. De obicei, folosit la sfârșitul codului:
MsgBox strong> Promt. [Butoane]. [Titlu]. [HelpFile]. [Context]
instrucțiuni obligatorii este doar prima opțiune - Promt. Se precizează în mod direct un mesaj de afișat:
Funcția MessageBoxTimeOut Lib declarã "User32" Alias "MessageBoxTimeoutA" (ByVal hwnd lungi. ByVal lpText ca șir. ByVal lpCaption ca șir. ByVal uType Ca VbMsgBoxStyle. ByVal wLanguageId lungi. DwMilliseconds ByVal Atâta timp) Atâta timp
În afară de textul mesajului evident și titlul. care poate fi înlocuit cu propria valoare. Acesta se concentrează asupra constantă
Dacă doriți să afișați mesajul timp de 10 secunde. este necesar doar pentru a înlocui 5 până la 10.
parametru
Sub AutoCloseMsgBox ()lSeconds Const Atâta timp = 10
retval = MessageBoxTimeOut (0 „Fișiere procesate. Imprimarea unei liste?“ vbNewLine _
„Dacă este selectată acțiunea fereastra se va închide în 10 secunde.“ "Www.excel-vba.ru". _
vbInformation + vbYesNo. 0 . lSeconds * 1000)
Dacă retval = 6 Apoi „Da butonul (Da) a fost apăsat