140 likes | 281 Views
CU01 Informatika II 7 /13 Základy algoritmizace DOM a MS Excel. CU01 Informatika II Z áklady algoritmizace – OOP. NA ŠE DEFINICE OBJEKTU. Objekt je speciální typ proměnné . na rozdíl od primitivních typů (Single, StrING , BOOLEAN, DATE, ... ) má vlastnosti metody
E N D
CU01 Informatika II7/13Základyalgoritmizace DOM a MS Excel
CU01 Informatika IIZáklady algoritmizace – OOP NAŠE DEFINICE OBJEKTU Objekt je speciální typ proměnné. na rozdíl od primitivních typů (Single, StrING, BOOLEAN, DATE, ... ) má vlastnosti metody OBJEKT OBSAHUJE DATA i KÓD. VlastnostiDefinujÍ stav objektu. METODY JSOU funkce pro manipulaci s vlastnostmi objektu. Třída je předlohou (vzorem) Pro vytvoření objektu (~ typ). KOLEKCE je skupinaobjektů stejné třídy.
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel DOM – OBJEKTOVÝ STROM DOM MS Excelu má: ~ 153 objektů, z toho 44 kolekcí objektů ~ 969 vlastností, ~432 metod, VBA • 150 funkcí, • 54 událostí, • 77 příkazů, • 19 operátorů.
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel ZÁKLADNÍ OBJEKTY Applicationreprezentuje aplikaci MS Excel Workbooks reprezentuje kolekci otevřených sešitů Workbook reprezentuje otevřený soubor se sešitem Worksheets reprezentuje kolekci listů Worksheetreprezentuje otevřený list Range reprezentuje oblast buněk. Může obsahovat jednu buňku, dvojrozměrné pole buněk, trojrozměrnou oblast svazující více listů Chart reprezentuje graf (osy, legendy atd. jsou popsány vnořenými obj.)
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel METODY OBJEKTů Syntaxe volání metod v případě procedury: <objekt>.<metoda> argument1, ... , argumentn v případě funkce: <proměnná> = <objekt>.<metoda>(argument1,..., argumentn) Metoda má často mnoho parametrů. Musíme dodržet pořadí, počet a typ parametrů. Abychom je nemuseli uvádět všechny a ve správném pořadí, můžeme použít zápis <jméno par.>:= <hodnota> Sub tiskniTriStrany() ActiveDocument.PrintOutPages:="1-3" End Sub
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel VYTVÁŘENÍ ZÁKLADNÍCH OBJEKTů • Deklarace proměnných (odpovídající typy) DimapAs Excel.Application DimwbAs Excel.Workbook DimwsAs Excel.WorkSheet • Vytvoření objektu pomocí příkazu Set Set objvar= objexpr objvarNázev proměnné. objexprDeklarovaná proměnná typu objekt stejné třídy nebo funkce případně metoda, která vrací referenci na objekt stejné třídy
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel PŘÍKLAD: VYTVÁŘENÍ ZÁKLADNÍCH OBJEKTů ‘ obecná funkce CreateObject() Set ap= CreateObject("Excel.Application") ap.Visible= trueSet wb= ap.Workbooks.AddSet ws= wb.Worksheets(1) Set objvar = {[New] objxpr| Nothing} objvarNázev proměnné. NewNepovinné klíčové slovo vytváří novou instance třídy. Pokudproměnná objvar již obsahuje odkaz na objekt, reference se změní na novou hodnotu. objxprDeklarovaná proměnná typu objekt stejné třídy nebo funkce případně metoda, která vrací referenci na objekt stejné třídy NothingVolitelné. Přerušuje sdružení objvar s konkrétním objektem. Přiřazení uvolní všechny systémové a paměťové zdroje spojené s objektem. Dimapas Excel.Application Set ap= New Excel.Application Dimapas New Excel.Application
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel Adresace sešitu – kolekce WorkBooks Adresaci upřesňujeme pomocí indexu nebo názvu WorkBooks(1) nebo WorkBooks("book1.xlsx") Příkazem přiřazení spojíme proměnnou s objektem set wb= WorkBooks(1) Pomocí metod Add (Open)přidáme nový (otevřeme existující) set wb= ap.WorkBooks.Add metoda kolekce ap.Workbooks.OpenfileName:= "book1.xlsx" Počet otevřených sešitů n = ap.WorkBooks.Count vlastnostkolekce Název sešitu a jeho umístění MsgBox(ap.WorkBooks(1).Name) vlastnostobjektu MsgBox(ap.WorkBooks(1).Path) vlastnostobjektu Uložení sešitu WorkBooks("book1.xlsx").Save metoda objektu WorkBooks(1).SaveAs metoda objektu Uzavření sešitu ap.Workbooks.Close metoda objektu
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel Adresace sešitu – OBJEKT ActiveWorkBook Aktivní sešit je dostupný prostřednictvím objektu ActiveWorkBook Nastavení aktivního sešitu (asociace s objektem ActiveWorkBook) WorkBooks(1).Activate metodakolekce Název sešitu ActiveWorkBook.Namevlastnostobjektu Cesta k sešitu ActiveWorkBook.Pathvlastnostobjektu Uložení sešitu ActiveWorkBook.Save metoda objektu ActiveWorkBook.SaveAs metoda objektu Uzavření sešitu ActiveWorkBook.Close
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel Příkaz cyklu pro procházení kolekcí Syntaxe For Each element [ As datatype ] In group [ statements ] [ Exit For ] [ statements ] Next [element ] element proměnná typu objekt, reprezentující prvek kolekce group kolekce objektů statements příkazy
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel PŘÍKAZ With ... End With Usnadňuje zápis při práci s objekty Syntaxe With objekt [příkazy] End With objekt- název objektu • umožňuje zkrácený zápis při práci s objektem, resp. jeho vlastnostmi a metodami • umožňuje vynechat kvalifikátor objektu
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel Adresace listu – kolekce WorkSheets Adresaciupřesňujemepomocíindexunebonázvu WorkBooks(1).WorkSheets(1)neboWorkBooks(1).WorkSheets("List1") Vynecháme-li informaci o sešitu, myslíme aktivní sešit WorkSheets(1)neboWorkSheets("List1") Příkazempřiřazeníspojímeproměnnou s objektem set ws=WorkSheets(1) PomocímetodyAdd přidámenovýlist set ws=WorkSheets.Addmetodakolekce Početotevřenýchlistů n =WorkSheets.Countvlastnostkolekce Názevlistu WorkSheets(1).Namevlastnostobjektu Odstranění listu WorkSheets(1).Deletemetoda objektu
CU01 Informatika IIZáklady algoritmizace – DOM a MS Excel Adresace LISTU – OBJEKT ActiveSheet Aktivní list je dostupný prostřednictvím objektu ActiveSheet Nastavení aktivního listu (asociace s objektem ActiveSheet) WorkSheets(1).Activate metoda kolekce Název listu ActiveSheet.Namevlastnostobjektu Odstranění listu ActiveSheet.Deletemetoda objektu