Preluarea de informații de la utilizator folosind casete Message Box și Input Box

Pentru a crește funcționalitatea macrocomenzilor sau aplicațiilor, la macrocomanda înregistrată sau scrisă se poate adăuga o interfață pentru utilizator.

Mai jos sunt prezentate cele mai ușoare trei moduri de comunicare cu utilizatorul macrocomenzii, cele mai ușoare două modalități care permit utilizatorului să furnizeze informații pentru codul din macrocomandă și cel mai simplu mod de a cere introducerea de date de către utilizator. Apoi se prezintă modul în care se alege cea mai bună modalitate de comunicare cu utilizatorul în orice circumstanțe date.

În majoritatea aplicațiilor Office, VBA oferă cinci moduri de comunicare cu utilizatorul prin intermediul unei macrocomenzi:

  • Afișarea unui mesaj în bara de stare din partea de jos a ferestrei (dacă aplicația are o bară de stare). Această metodă este puțin limitată, dar poate fi eficientă. Și nu este intruzivă – utilizatorii pot să ignore mesajul din bara de stare.
  • Afișarea unei casete de tip mesaj - message box (de obicei pe mijlocul ecranului). Casetele de tip mesaj sunt utile când oferă utilizatorilor informații sau indicații în funcție de informațiiile primite.
  • Afișarea unei casete pentru introducere date - input box (din nou, de obicei este afișată în mijlocul ecranului). Casetele de introducere date se folosesc la fel ca și casetele pentru mesaje - pentru a comunica unele informații către utilizator. Dar scopul principal al casetelor de introducere date este de a cere informații de la utilizator. Casetele de introducere date redirecționează cursul macrocomenzii.
  • Afișarea unei casete de dialog - dialog box (și aici, de obicei apare în mijlocul ecranului). Casetele de dialog se folosesc pentru afișarea de informații către utilizator și realizarea de alegeri care sunt comunicate codului din macrocomandă. Casetele de dialog sunt folosite când alte forme de comunicare nu sunt suficiente; altfel zis, folosirea lor nu este necesară când se transmite către utilizator un mesaj simplu sau se cer date.