70 likes | 206 Views
Programarea aplica ţiilor Microsoft Office ( V isual B asic for A pplications ). Prezentat ă de Valentin Clocotici www.infoiasi.ro/~val/vba.html. Cursul nr. 4. Obiectele Microsoft Excel (2). Selec ţii.
E N D
Programarea aplicaţiilor Microsoft Office(Visual Basic for Applications) Prezentată de Valentin Clocotici www.infoiasi.ro/~val/vba.html
Cursul nr. 4 Obiectele Microsoft Excel (2)
Selecţii • Cunoaşterea entităţii care este selectată în interfaţă (celula activă, domeniu de celule, diagramă etc.) are o importanţă deosebită prin aceea că anumite operaţiuni pot fi efectuate doar asupra unor anumite entităţi. • Reamintim că fiecare fereastră are o selecţie proprie, memorată de sistem. Se pot obţine ferestre noi • la deschiderea altor caiete • la definirea diagramelor • prin comanda Window – New Window (ferestre multiple pentru un acelaşi caiet). • Programatic, se poate şti obiectul selectat din fereastra activă prin proprietatea Selection a obiectului Application:[Application.]Selection
Selecţii • Pentru o altă fereastră decât cea activă se utilizează proprietatea Selection a obiectului Window[Application.]Windows(…).Selectionsauworkbook.Windows(…).Selection • Proprietatea returnează obiectul selectat.sau Nothing. • Tipul selecţiei poate fi determinat prin funcţia TypeName, care returnează “Range” dacă selecţia este un domeniu de celule, sau numele obiectului selectat (cum ar fi ChartArea, Legend, Point etc. pentru o diagramă).MsgBoxTypeName(Windows(2).Selection)
Selecţii • Selectarea programatică a unui domeniu de celule se obţine prin • Metoda Activate dacă selecţia este o singură celulă, ceea ce practic revine la definirea unui nou obiect ActiveCell • Metoda Select în cazul selectării unui domeniu de celule (sau a altui tip de obiect decât Range). • Metoda Activate. Forma generală este expression.Activate unde expression returnează un obiect de tip Chart, ChartObject, OLEFormat, OLEObject, Pane, Range, Window, Workbook, Worksheet. ExempleRange("B2").ActivateWorksheets("Sheet1").Activate Workbooks("BOOK4.XLS").Activate
Selecţii • Metoda Selectexpression.Selectunde expression returnează un obiect căruia i se poate aplica metoda (printre obiecte se găsesc Range, Chart cu toate subobiectele, Shape, Worksheet etc.).Range("A1:B3").Select • Extinderea selecţiei se poate efectua prin intermediul funcţiei UnionApplication.Union(Selection, Range("A1")).Select • De notat că o funcţie din aceeaşi categorie este funcţia Intersect, care returnează intersecţia dintre mai multe domenii de tip Range.
Colecţia Areas • Reprezintă mulţimea de blocuri (dreptunghiulare) continue de celule dintr-o selecţie multiplă. Fiecare bloc este un obiect Range, drept urmare nu există obiecte • Colecţia este returnată de proprietatea Areas a obiectului Rangerangeobject.Areas • Colecţia Areas are doar proprietăţile uzuale ale unei colecţii, fără metode sau evenimente. • Utilizarea este aproape evidentă, după modelulDim rng As RangeFor Each rng In Selection.Areas MsgBox rng.AddressNext rngsauIf Selection.Areas.Count <> 1 Then ....End If