DOM a MS Excel

Report
CU01 Informatika II 7/13
Základy algoritmizace
DOM a MS Excel
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
1
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
OBJEKT OBSAHUJE DATA I KÓD.
VLASTNOSTI DEFINUJÍ STAV OBJEKTU.
METODY JSOU FUNKCE PRO MANIPULACI S VLASTNOSTMI OBJEKTU.
TŘÍDA JE PŘEDLOHOU (VZOREM) PRO VYTVOŘENÍ OBJEKTU (~ TYP).
KOLEKCE JE SKUPINA OBJEKTŮ STEJNÉ TŘÍDY.
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
2
CU01 Informatika II
Zá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ů.
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
3
CU01 Informatika II
Základy algoritmizace – DOM a MS Excel
ZÁKLADNÍ OBJEKTY
Application
Workbooks
Workbook
Worksheets
Worksheet
Range
Chart
reprezentuje aplikaci MS Excel
reprezentuje kolekci otevřených sešitů
reprezentuje otevřený soubor se sešitem
reprezentuje kolekci listů
reprezentuje otevřený list
reprezentuje oblast buněk. Může obsahovat jednu buňku,
dvojrozměrné pole buněk, trojrozměrnou oblast svazující více listů
reprezentuje graf (osy, legendy atd. jsou popsány vnořenými obj.)
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
4
CU01 Informatika II
Zá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.PrintOut Pages:="1-3"
End Sub
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
5
CU01 Informatika II
Základy algoritmizace – DOM a MS Excel
VYTVÁŘENÍ ZÁKLADNÍCH OBJEKTŮ
1. Deklarace proměnných (odpovídající typy)
Dim ap As Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.WorkSheet
2. Vytvoření objektu pomocí příkazu Set
Set objvar = objexpr
objvar
objexpr
Název proměnné.
Deklarovaná proměnná typu objekt stejné třídy nebo funkce případně
metoda, která vrací referenci na objekt stejné třídy
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
6
CU01 Informatika II
Základy algoritmizace – DOM a MS Excel
PŘÍKLAD: VYTVÁŘENÍ ZÁKLADNÍCH OBJEKTŮ
‘ obecná funkce CreateObject()
Set ap = CreateObject("Excel.Application")
ap.Visible = true
Set wb = ap.Workbooks.Add
Set ws = wb.Worksheets(1)
Set objvar = {[New] objxpr | Nothing}
objvar
New
objxpr
Nothing
Název proměnné.
Nepovinné klíčové slovo vytváří novou instance třídy. Pokud proměnná
objvar již obsahuje odkaz na objekt, reference se změní na novou
hodnotu.
Deklarovaná proměnná typu objekt stejné třídy nebo funkce případně
metoda, která vrací referenci na objekt stejné třídy
Volitelné. 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.
Dim ap as Excel.Application
Set ap = New Excel.Application
Dim ap as New Excel.Application
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
7
CU01 Informatika II
Zá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.Open fileName:= "book1.xlsx"
Počet otevřených sešitů
n = ap.WorkBooks.Count
 vlastnost kolekce
Název sešitu a jeho umístění
MsgBox(ap.WorkBooks(1).Name)
MsgBox(ap.WorkBooks(1).Path)
 vlastnost objektu
 vlastnost objektu
Uložení sešitu
WorkBooks("book1.xlsx").Save
WorkBooks(1).SaveAs
 metoda objektu
 metoda objektu
Uzavření sešitu
ap.Workbooks.Close
 metoda objektu
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
8
CU01 Informatika II
Zá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
 metoda kolekce
Název sešitu
ActiveWorkBook.Name
 vlastnost objektu
Cesta k sešitu
ActiveWorkBook.Path
 vlastnost objektu
Uložení sešitu
ActiveWorkBook.Save
ActiveWorkBook.SaveAs
 metoda objektu
 metoda objektu
Uzavření sešitu
ActiveWorkBook.Close
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
9
CU01 Informatika II
Zá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
group
statements
proměnná typu objekt, reprezentující prvek kolekce
kolekce objektů
příkazy
Dim bk as Excel.WorkBook
For Each bk In WorkBooks
MsgBox(bk.Name)
Next bk
Dim ws as Excel.WorkSheet
For Each ws In WorkSheets
MsgBox(ws.Name)
Next ws
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
10
CU01 Informatika II
Zá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
with ap
with ap.WorkBooks
set wb = .WorkBooks.Add
set wb =.Add
.Workbooks.Open "book1.xlsx“
.Open "book1.xlsx“
.Workbooks.Close
.Close
end with
end with
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
11
CU01 Informatika II
Základy algoritmizace – DOM a MS Excel
ADRESACE LISTU – KOLEKCE WorkSheets
Adresaci upřesňujeme pomocí indexu nebo názvu
WorkBooks(1).WorkSheets(1) nebo WorkBooks(1).WorkSheets("List1")
Vynecháme-li informaci o sešitu, myslíme aktivní sešit
WorkSheets(1) nebo WorkSheets("List1")
Příkazem přiřazení spojíme proměnnou s objektem
set ws = WorkSheets(1)
Pomocí metody Add přidáme nový list
set ws = WorkSheets.Add
 metoda kolekce
Počet otevřených listů
n = WorkSheets.Count
 vlastnost kolekce
Název listu
WorkSheets(1).Name
 vlastnost objektu
Odstranění listu
WorkSheets(1).Delete
 metoda objektu
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
12
CU01 Informatika II
Zá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.Name
 vlastnost objektu
Odstranění listu
ActiveSheet.Delete
 metoda objektu
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
13
Děkuji za pozornost.
Středoevropské centrum pro vytváření a realizaci inovovaných
technicko-ekonomických studijních programů
Registrační číslo CZ.1.07/2.2.00/28.0301
Tento projekt je spolufinancován Evropským sociálním fondem a
státním rozpočtem České republiky.
14

similar documents