Professional Documents
Culture Documents
Microsoft Office
(Visual Basic for Applications)
Prezentat de
Valentin Clocotici
www.infoiasi.ro/~val/vba.html
Cursul nr. 6
Dialoguri (Forms)
Controale
Label Control
Un control Label este utilizat pentru afiarea unui text descriptiv, cum ar
fi titluri, instruciuni de ajutor etc.
Textul afiat nu este i nu poate fi legat de surse de date (n sensul c se
va modifica mpreun cu sursa de date).
Proprietatea implicit este Caption, reprezentnd textul afiat.
Evenimentul implicit este Click.
TextBox Control
Afieaz informaie scris de utilizator sau primit dintr-o surs de date.
Dac TextBox este legat de o surs de date, atunci modificarea
informaiei afiate produce i modificarea informaiei din sursa de date.
Informaia afiat are un format unitar (acelai font, acelai stil).
Proprietatea implicit este Value, reprezentnd coninutul casetei.
Evenimentul implicit este Change, declanat la modificarea proprietii
Value.
Controale
TextBox Control (continuare)
Text este proprietatea (string) care conine textul afiat.
Numrul de linii pentru textul afiat este controlat de proprietatea
boolean MultiLine. Dac MultiLine este False, textul este afiat
trunchiat. Liniile se termin la caracterele Newline. De remarcat
i interaciunea cu proprietatea ScrollBars prin care se
controleaz afiarea barelor de scroll (orizontal, vertical).
Proprietatea WordWrap permite scrierea unei linii lungi de text pe
mai multe linii. Trebuie ca MultiLine s fie True. De remarcat c,
la editarea textului unui control TextBox, se genereaz un
caracter Newline la acionarea Shift+Enter, Ctrl+Enter, similar
unui salt de linii dintr-o celul Excel.
O alt proprietate cu efect la editarea controlului este AutoSize.
Dac AutoSize este True, atunci redimensionarea controlului are
loc dup dimensiunea textului care trebuie s fie afiat. Dac
MultiLine este True, se ajusteaz nlimea controlului, altfel se
ajusteaz limea (textul care depete limea dialogului nu se
mai vede).
4
Controale
ListBox Control
Afieaz o list i permite selectarea unei sau mai multor intrri din list.
ListBox poate fi legat de o surs de date (proprietatea RowSource).
Controlul ListBox poate s apar ca o list ori ca un grup de controale
OptionButton sau CheckBox (ListStyle este Option; MultiSelect d
intrrile: Single butoane radio, Multi sau Extended boxe de
control).
Proprietatea implicit este Value, reprezentnd valoarea selectat
curent (din coloana dat de proprietatea BoundColumn).
Evenimentul implicit este Click.
Controale
ComboBox Control
Combin posibilitile de la ListBox i TextBox: utilizatorul poate
introduce o valoare nou (ca la TextBox), sau poate selecta o valoare
dintr-o list (ca la ListBox). Grafic, un control ComboBox arat ca o
list ascuns.
Se poate lega la o surs de date (de exemplu, celule dintr-o foaie de
calcul).
Proprietatea implicit este Value, reprezentnd valoarea selectat.
Evenimentul implicit este Change.
ListBox, ComboBox
ListBox, ComboBox
Observaii.
Exemplu
ListBox1.ColumnWidths = 90;72;;1 cm
are ca efect o coloan de 90 de puncte, una de 72 de puncte, una calculat automat
i una de un centimetru.
ListBox, ComboBox
Dac lista are mai multe coloane, selectarea unei linii returneaz ca
valoare a controlului valoarea aflat pe coloana precizat ca
BoundColumn (numerotarea coloanelor este aici de la 1).
Proprietatea ControlSource identific locaia utilizat pentru a seta
sau a memora valoarea controlului (proprietatea Value). In cazul
Excel, ControlSource poate fi adresa (string) a unui domeniu:
ListBox1.ControlSource = Range("E3").Address
ListBox, ComboBox
10
ListBox, ComboBox
Proprietatea Column specific una sau mai multe intr dintr-o list (ListBox sau
ComboBox). Sintaxa este
listobject.Column([column[, row]]) [= value]
Se poate utiliza Column pentru a asigna coninutul unei liste la alt control, de
exemplu stabilirea proprietii ControlSource pentru un TextBox.
Dac utilizatorul nu selecteaz nimic n list, Column este Null (se poate testa
valoarea prin funcia IsNull).
Se poate utiliza Column pentru a copia un tablou bidimensional ntr-o list. La
copiere are loc o transpunere a tabloului, Column(X, Y) este Array(Y, X). Prin
proprietatea List copierea are loc fr transpunere.
11
ListBox, ComboBox
Proprietatea List returneaz sau scrie intrrile din list (ListBox sau
ComboBox). Sintaxa este
listobject.List( row, column ) [= value]
Controale
CheckBox Control
Este utilizat pentru alegeri ntre dou alternative (Yes/No,
True/False etc.).
Dac TripleState este True, controlul poate avea i valoarea
Null.
La legarea de o surs de date, schimbarea strii se reflect n
modificarea valorii sursei.
Proprietatea implicit este Value: Null = null (nici selectat, nici
neselectat), (1) True (selectat), 0 False (neselectat).
Evenimentul implicit este Click.
13
Controale
OptionButton Control
Permite selectarea dintr-un grup de opiuni.
Controlul este cunoscut i ca buton radio
(apsarea unui buton de selectare a unei
game de lungimi de und le deselecteaz
pe celelalte).
Butoanele de opiune dintr-un frame sunt
mutual exclusive. Asemenea grupuri se
pot defini i cu proprietatea GroupName,
fiecare grup fiind identificat prin denumire.
Un control OptionButton poate fi legat la
o surs de date, controlul poate s arate
valori Yes/No, True/False sau On/Off.
n funcie de proprietatea TripleState,
controlul poate avea i valoarea Null.
14