Objektový model MS Excel, objekt aplikace. Objektový model MS Excel. Práce v prostředí VBA. Správa vlastností objektu. GoTo - přechod do buňky

Období Objekty Excelu(rozuměno v v širokém slova smyslu, jako objekt Excelový model) obsahuje prvky, které tvoří jakýkoli sešit aplikace Excel. Jsou to například pracovní listy ( Pracovní listy), struny ( Řádky), sloupce ( Sloupce), rozsahy buněk ( Rozsahy) a samotný sešit Excel ( Pracovní sešit) včetně. Každý objekt aplikace Excel má sadu vlastností, které jsou jeho nedílnou součástí.

Například objekt Pracovní list(pracovní list) má vlastnosti Jméno(Jméno), Ochrana(ochrana), Viditelné(viditelnost), Oblast posouvání(rolovací oblast) a tak dále. Pokud tedy během provádění makra potřebujete skrýt list, stačí změnit vlastnost Viditelné tento list.

V Excel VBA existuje speciální typ objektů − sbírka. Jak název napovídá, kolekce označuje skupinu (nebo kolekci) objektů aplikace Excel. Například sbírka Řádky je objekt obsahující všechny řádky listu.

Prostřednictvím objektu lze přistupovat (přímo nebo nepřímo) ke všem hlavním objektům aplikace Excel Pracovní sešity, což je kolekce všech otevřených v momentálně pracovní sešity. Každý sešit obsahuje objekt Listy– kolekce, která obsahuje všechny listy a listy diagramů v sešitu. Každý objekt Pracovní list skládá se z kolekce Řádky– zahrnuje všechny řádky listu a kolekce Sloupce– všechny sloupce listu atd.

V následující tabulce jsou uvedeny některé z nejčastěji používaných objektů aplikace Excel. Úplný seznam Objekty Excel VBA lze nalézt na webu Microsoft Office Developer (v angličtině).

Objekt Popis
Aplikace aplikace Excel.
Pracovní sešity Kolekce všech aktuálně otevřených sešitů v aktuálním aplikace Excel. Ke konkrétnímu sešitu lze přistupovat prostřednictvím objektu Pracovní sešity s pomocí číselný index sešit nebo jeho název, např. sešity (1) nebo Pracovní sešity („Sešit 1“).
Pracovní sešit Objekt Pracovní sešit- Toto je pracovní sešit. Lze k němu přistupovat prostřednictvím sbírky Pracovní sešity pomocí číselného rejstříku nebo názvu sešitu (viz výše). Pro přístup k aktuálně aktivnímu sešitu můžete použít Aktivní sešit.

Z objektu Pracovní sešit můžete k objektu přistupovat Listy, což je kolekce všech listů v sešitu (listy a grafy) a také objekt Pracovní listy, což je soubor všech pracovních listů Excelové sešity.

Listy Objekt Listy je sbírka všech listů v sešitu. Mohou to být pracovní listy nebo diagramy. samostatný list. Přístup k jednotlivému listu z kolekce Listy lze získat pomocí číselného indexu listu nebo jeho názvu, např. Listy (1) nebo Tabulky (“List1”).
Pracovní listy Objekt Pracovní listy je kolekce všech listů v sešitu (tj. všech listů kromě grafů na samostatném listu). Přístup k jednotlivému listu z kolekce Pracovní listy lze získat pomocí číselného indexu listu nebo jeho názvu, např. Pracovní listy (1) nebo Pracovní listy (“List1”).
Pracovní list Objekt Pracovní list je samostatný list v sešitu aplikace Excel. Lze k němu přistupovat pomocí číselného indexu listu nebo názvu listu (viz výše).

Kromě toho můžete použít ActiveSheet pro přístup k aktuálně aktivnímu listu. Z objektu Pracovní list můžete přistupovat k objektům Řádky A Sloupce, které jsou sbírkou předmětů Rozsah, odkazující na řádky a sloupce listu. Můžete také přistupovat k jedné buňce nebo libovolnému rozsahu sousedních buněk na listu.

Řádky Objekt Řádky je kolekce všech řádků v listu. Objekt Rozsah, skládající se z samostatná linka pracovní list, lze k němu přistupovat pod tímto číslem řádku, např. Řádky (1).
Sloupce Objekt Sloupce je kolekce všech sloupců listu. Objekt Rozsah, skládající se z samostatný sloupec list je přístupný podle čísla sloupce, např. Sloupce(1).
Rozsah Objekt Rozsah je libovolný počet sousedních buněk na listu. Může to být jedna buňka nebo všechny buňky listu.

Rozsah sestávající z jedné buňky je přístupný prostřednictvím objektu Pracovní list užívání majetku Buňky, například Worksheet.Cells(1,1).

Jiným způsobem lze zapsat odkaz na rozsah zadáním adres počáteční a koncové buňky. Mohou být psány oddělené dvojtečkou nebo čárkou. Například, Worksheet.Range(“A1:B10”) nebo Worksheet.Range("A1", "B10") nebo Worksheet.Range(Cells(1,1), Cells(10,2)).

Všimněte si prosím, zda adresa Rozsah druhá buňka není specifikována (např. Worksheet.Range(“A1”) nebo Worksheet.Range(Cells(1,1)), pak bude vybrán rozsah skládající se z jedné buňky.

Výše uvedená tabulka ukazuje, jak se k objektům Excelu přistupuje prostřednictvím nadřazených objektů. Například odkaz na rozsah buněk lze zapsat takto:

Workbooks("Book1").Worksheets("Sheet1").Rozsah("A1:B10")

Přiřazení objektu k proměnné

V aplikaci Excel VBA lze objekt přiřadit proměnné pomocí klíčového slova Soubor:

Dim DataWb jako Workbook Set DataWb = Workbooks("Sešit1.xlsx")

Aktivní objekt

V Excelu je v daný okamžik aktivní objekt Pracovní sešit je sešit aktuálně otevřený. Stejně tak existuje aktivní objekt Pracovní list, aktivní objekt Rozsah a tak dále.

Viz aktivní objekt Pracovní sešit nebo List v kódu VBA to můžete udělat takto: Aktivní sešit nebo ActiveSheet a na aktivní objekt Rozsah– jako v Výběr.

Pokud kód VBA obsahuje odkaz na list bez určení, do kterého sešitu patří, Excel jako výchozí použije aktivní sešit. Podobně, pokud odkazujete na rozsah, aniž byste specifikovali konkrétní sešit nebo listu, Excel jako výchozí použije aktivní list v aktivním sešitu.

Tedy odkazovat na rozsah A1:B10 na aktivním listu aktivního sešitu můžete jednoduše napsat:

Rozsah("A1:B10")

Změna aktivního objektu

Pokud během provádění programu potřebujete aktivovat další sešit, jiný list, rozsah atd., musíte použít metody Aktivovat nebo Vybrat takhle:

Sub ActivateAndSelect() Workbooks("Sešit2").Activate Worksheets("Sheet2").Select Worksheets("Sheet2").Range("A1:B10").Select Worksheets("Sheet2").Range("A5") .Aktivujte End Sub

Objektové metody, včetně právě použitých metod Aktivovat nebo Vybrat, bude podrobněji probráno níže.

Vlastnosti objektu

Každý objekt VBA má přiřazeny vlastnosti. Například objekt Pracovní sešit má vlastnosti Jméno(Jméno), Číslo revize(počet uložení), Listy(listy) a mnoho dalších. Chcete-li získat přístup k vlastnostem objektu, musíte napsat název objektu, poté tečku a poté název vlastnosti. Například název aktivního sešitu lze získat takto: ActiveWorkbook.Name. Tedy přiřadit k proměnné wbName název aktivního sešitu, můžete použít tento kód:

Dim wbName As String wbName = ActiveWorkbook.Name

Dříve jsme ukázali, jak objekt Pracovní sešit lze použít pro přístup k objektu Pracovní list pomocí tohoto příkazu:

Workbooks("Sešit1").Worksheets("Sheet1")

To je možné díky sbírce Pracovní listy je vlastnost objektu Pracovní sešit.

Některé vlastnosti objektů jsou pouze pro čtení, což znamená, že uživatel nemůže měnit jejich hodnoty. Zároveň existují vlastnosti, které lze přiřadit různé významy. Chcete-li například změnit název aktivního listu na „ Můj pracovní list“, stačí přiřadit tento název vlastnosti Jméno aktivní list, takto:

ActiveSheet.Name = "Můj pracovní list"

Objektové metody

Objekty VBA mají metody pro provádění určitých akcí. Objektové metody jsou procedury vázané na objekty určitý typ. Například objekt Pracovní sešit má metody Aktivovat, Blízko, Uložit a mnoho dalších.

Chcete-li volat metodu na objektu, musíte si zapsat název objektu, tečku a název metody. Chcete-li například uložit aktivní sešit, můžete použít tento řádek kódu:

Aktivní sešit.Uložit

Stejně jako jiné procedury mohou mít metody argumenty, které jsou předány metodě při jejím volání. Například metoda Blízko objekt Pracovní sešit má tři volitelné argumenty, které určují, zda se má sešit uložit před uzavřením a podobně.

Chcete-li předat argumenty metodě, musíte po volání metody zapsat hodnoty těchto argumentů oddělené čárkami. Například pokud chcete uložit aktivní sešit jako soubor .csv s názvem „Book2“, pak musíte metodu zavolat Uložit jako objekt Pracovní sešit a projít argumentem Název souboru význam Kniha2 a argument Formát souboru- význam xlCSV:

ActiveWorkbook.SaveAs "Book2", xlCSV

Aby byl váš kód čitelnější, můžete při volání metody použít pojmenované argumenty. V tomto případě napište nejprve název argumentu a poté operátor přiřazení „ := “ a za ním uveďte hodnotu. Takže výše uvedený příklad volání metody Uložit jako objekt Pracovní sešit lze napsat jinak:

ActiveWorkbook.SaveAs Název souboru:="Sešit2", :=xlCSV

V okně Prohlížeč objektů editor Visual Basic zobrazuje seznam všech dostupných objektů, jejich vlastností a metod. Chcete-li tento seznam otevřít, spusťte Editor jazyka Visual Basic a klepněte na F2.

Podívejme se na pár příkladů

Příklad 1

Tento fragment kódu VBA může sloužit jako ilustrace použití smyčky Pro každého . V v tomto případě budeme na něj odkazovat, abychom demonstrovali odkazy na objekty Pracovní listy(který je ve výchozím nastavení převzat z aktivního sešitu) a odkazy na každý objekt Pracovní list odděleně. Všimněte si, že vlastnost použitá k zobrazení názvu každého listu je Jméno objekt Pracovní list.

"Procházejte všechny listy v aktivním sešitu jeden po druhém" a zobrazte okno se zprávou s názvem každého listu Dim wSheet As Worksheet For Every wSheet in Worksheets MsgBox "Worksheet found: " & wSheet.Name Next wSheet

Příklad 2

Tento příklad kódu VBA ukazuje, jak můžete přistupovat k listům a oblastem buněk z jiných sešitů. Navíc se ujistíte, že pokud není uveden odkaz na konkrétní objekt, pak se použijí výchozí aktivní objekty Vynikat. Tento příklad demonstruje použití klíčového slova Soubor k přiřazení objektu k proměnné.

V níže uvedeném kódu pro objekt Rozsah se nazývá metoda PasteSpecial. Tato metoda předává argument Pasta význam xlPasteValues.

"Zkopírujte rozsah buněk z listu "Sheet1" jiného sešitu (s názvem Data.xlsx) "a vložte pouze hodnoty do listu "Results" aktuálního sešitu (s názvem CurrWb.xlsm) Dim dataWb As Workbook Set dataWb = Workbooks.Open( "C:\Data") "Všimněte si, že DataWb je aktivní sešit." další akce provedené na objektu Sheets v DataWb. Sheets("Sheet1").Range("A1:B10").Kopírovat "Vložit hodnoty zkopírované z rozsahu buněk do listu "Results" aktuálního sešitu. Vezměte prosím na vědomí, že sešit CurrWb.xlsm není "aktivní", a proto je třeba na něj odkazovat Workbooks("CurrWb").Sheets("Results").Range("A1").PasteSpecial Paste:=xlPasteValues.

Příklad 3

Následující fragment kódu VBA ukazuje příklad objektu (kolekce) Sloupce a ukazuje, jak se k němu přistupuje z objektu Pracovní list. Navíc uvidíte, že když odkazujete na buňku nebo oblast buněk v aktivním listu, nemusíte tento list zahrnout do odkazu. Znovu se setkáváme klíčové slovo Soubor, s jehož pomocí objekt Rozsah přiřazené proměnné Plk.

Tento kód VBA také ukazuje příklad přístupu k vlastnosti Hodnota objekt Rozsah a měnit jeho význam.

"Pomocí smyčky se podíváme na hodnoty ve sloupci A na listu "Sheet2", "udělej to s každou z nich aritmetické operace a výsledek zapište "do sloupce A aktivního listu (Sheet1) Dim i As Integer Dim Col As Range Dim dVal As Double "Assign to variable Col sloupec A listu "Sheet2" Set Col = Sheets("Sheet2"). Columns("A") i = 1 "Prohlédněte si postupně všechny buňky sloupce Col, dokud "dokud nenarazíte na prázdnou buňku Do Until IsEmpty(Col.Cells(i)) "Proveďte aritmetické operace s hodnotou aktuální cell dVal = Col.Cells(i).Hodnota * 3 - 1" Další příkaz zapíše výsledek do sloupce A aktivního listu Není třeba uvádět název listu v odkazu, protože se jedná o aktivní list sešitu.

Buňky (i, 1). Hodnota = dVal i = i + 1 smyčka (Sbírka
  • Sbírka
  • (VBA PROGRAMOVÁNÍ V MS EXCEL)
  • (INFORMATIKA.)
    Základní objekty aplikace MS Excel Buňky (i, 1). Hodnota = dVal i = i + 1 smyčka (Sbírka Podívejme se, jak je strukturován objektový model MS Excel z obecné perspektivy. Jsou zde předměty a jejich sbírky (rodiny).
    Sbírka
  • VLASTNOSTI INTERAKCE APLIKACÍ MS EXCEL A OPENOFFICE.ORG CALC
    Sekce poskytuje stručný přehled složení a možnosti balíku OpenOffice. org (ОО.о). Jeho objektový model a jazykové konstrukce jazyka OO.o Basic (StarBasic) jsou uvažovány pouze v rámci jeho srovnání a interakce s aplikací MS Excel. Všimněte si, že OpenOffice.org je docela populární...
    Sbírka
  • Příklady použití funkcí Excelu
    Příklad 9.1. Sestrojte graf tepelné kapacity složky Ci8H36 v závislosti na teplotě. Tepelné kapacity a odpovídající teploty jsou uvedeny v tabulce. 9.1. Tabulka 9.1 Teplota, K 300 400 500 600 700 800 900 1000 Tepelná kapacita, cal/(mol K) 97,71 132,32 146,42 166,00 182,65 196,80 ... 2000
    (VBA PROGRAMOVÁNÍ V MS EXCEL)
  • Anotace: Přednáška je věnována popisu objektového modelu MS Excel a podrobný popis Aplikační metody, vlastnosti a události.

    13.1. Vlastnosti programování pro MS Excel

    Microsoft Office Excel jsou oblíbené tabulky. Při programování tohoto programu se obvykle sledují následující cíle:

    • Automatizace výpočtů.
    • Automatizace vstupu a zpracování informací.
    • Práce s databázemi - výstup, vstup, analýza, vizualizace informací.
    • Analýza finančních a jiných informací.
    • Tvorba systémů pro organizaci automatizovaného zadávání dat
    • Matematické modelování.

    V celkový pohled programování v Excelu je to podobné jako s prací Microsoft Word. Jedním z hlavních rozdílů je však to, že v Excelu je oblast listu rozdělena na buňky, z nichž každá má svůj vlastní název. Názvy buněk mohou být dvou typů.

    • První druh (styl A1) je název skládající se z abecedního názvu sloupce a čísla řádku. Například A1 je buňka umístěná na průsečíku sloupce A (prvního) a prvního řádku.
    • Dalším typem jsou buněčné indexy (styl pojmenování R1C1). Chcete-li buňku adresovat tímto stylem, uveďte číslo řádku (R - Row) a číslo sloupce (C - Column), na jejichž průsečíku se buňka nachází. Řádky jsou zpočátku očíslovány a čísla sloupců začínají od 1 - první sloupec odpovídá sloupci A, druhý - B atd. Například (2, 3) je adresa buňky umístěné na průsečíku druhého řádku a třetího sloupce, to znamená, že pokud to přeneseme do stylu A1, dostaneme buňku C2 (obr. 13.1.)


    Rýže. 13.1.

    Následující objekty slouží k provádění většiny operací v MS Excel.

    • Excel.Application - objekt představující aplikace Microsoft Excel, podobně jako Word.Application.
    • Pracovní sešit(Sešit) - představuje sešit - analog Dokument společnosti Microsoft Slovo. Ve Wordu však pracujeme s daty umístěnými v dokumentu a v Excelu je na cestě k datům další objekt – list.
    • Pracovní list(Worksheet) - sešit v MS Excel je rozdělen na listy. Právě na listu jsou buňky, které mohou ukládat informace a vzorce.
    • Rozsah – může být reprezentován jako jedna buňka nebo skupina buněk. Tento objekt nahrazuje mnoho objektů pro práci s prvky dokumentu (znak, slovo atd.), které se používají v aplikaci Microsoft Word. Díky tomu se práce s listem stává velmi přehlednou a pohodlnou – pro práci s jakoukoli buňkou vám stačí znát její název (ve formátu A1) nebo adresu (R1C1).
    • QueryTable - tento objekt se používá pro import do Microsoftu Excel informace z databází. Připojování k databázi, žádost o informace atd. jsou vytvářeny pomocí objektu a výsledky požadavku jsou nahrány do listu MS Excel ve formě běžné tabulky.
    • Kontingenční tabulka je zvláštní druh elektronický Excelové tabulky- dovoluje dovnitř interaktivní režim shrnout a analyzovat velké množství informací, zejména převzatých z databáze.
    • Schéma(Diagram) - představuje diagram. Obvykle se používají pro vizualizaci dat.

    Začněme recenzovat Objektový model MS Excel z objektu Application.

    13.2. Objekt aplikace

    MsgBox Excel.Název.Aplikace Výpis 13.1.

    Zobrazit název aplikace

    Po spuštění programu se v okně se zprávou zobrazí název aplikace – v tomto případě Microsoft Excel. Je zřejmé, že vlastnost Name objektu Application vrací název aplikace. Nyní se podívejme na nejdůležitější aplikační metody a vlastnosti. Některé z nich jsou podobné těm v MS Word. Například metoda Quit, stejně jako ve Wordu, ukončí aplikaci. Viditelná vlastnost

    zodpovědný za viditelnost okna programu atd.

    13.3. Aplikační metody

    13.3.1. Vypočítat - vynucený přepočet Pracovní sešit Tato metoda, volaná na objektu Application, umožňuje spočítat všechna otevření knihy. Lze jej vyvolat i pro jednotlivé knihy (objekt Pracovní list) listy ( ), buňky a jejich rozsahy (Rozsah). Například kód z výpisu 13.2. umožňuje spočítat vše.

    otevřené knihy Aplikace.Vypočítejte

    Výpis 13.2.

    Spočítejte všechny otevřené knihy

    Umožňuje vybrat libovolný rozsah buněk v jakékoli knize, a pokud kniha není aktivní, bude aktivována. Metoda může také běžet makra společnosti Microsoft Vynikat.

    Úplné volání metody vypadá takto:

    Přejít (odkaz, posouvat)

    Parametr Reference je odkaz na buňku nebo rozsah buněk, které by měly být vybrány po volání metody. Zde lze také použít název makra - poté se spustí.

    Parametr Scroll je zodpovědný za „přetáčení“ Excelový list do vybraných buněk - tak, aby se levý horní roh výběru shodoval s levým horním rohu zobrazená oblast listu. Pokud je Scroll nastaven na True, list se převine, pokud je nastaven na False, není.

    Například takové volání (Výpis 13.3) umožňuje vybrat buňku H500 na aktivním listu.

    Application.Goto _ Reference:=ActiveSheet.Range("H500"), _ Scroll:=True Výpis 13.3.

    Vyberte buňku H500 Jak vidíte, přístup k aktivnímu listu je velmi podobný přístupu k aktivnímu dokumentu v MS Word. Všimněte si, že používáme úplné volání metody - Application.GoTo - jak víte, obvykle můžete použít vlastnosti a metody objektu Application v kódu, aniž byste objekt specifikovali. Pokud však v tomto případě nezadáte Application, pak se místo metody GoTo program pokusí provést operátor bezpodmínečný přechod

    Přejít na.

    13.3.3. SendKeys - simulace stisku kláves na klávesnici

    13-03-Excel SendKeys.xlsm – příklad pro článek 13.3.3. Velmi zajímavá metoda - umožňuje přenést do aktivní okno

    Aplikace stisku kláves. Úplné volání metody vypadá takto:

    SendKeys (klávesy, čekejte) Parametr Keys umožňuje určit klávesy, jejichž stisk bude přenášen do aplikace. Metoda podporuje emulaci jak alfanumerických, tak i ovládací klávesy

    , pro které se používá speciální kódování. Alfanumerické klávesy jsou při volání indikovány ve své obvyklé podobě, například pro předání znaku "F" jej musíte zadat při volání metody atd. K předání úhozů do aplikace Backspace - použijte kód (BS). Pro vysílání stiskněte tlačítko Vstupte

    Základem objektového modelu Excelu je objekt Worksheet, který představuje jeden list v souboru. Každý objekt Worksheet je součástí kolekce Worksheets, která patří k objektu Workbook, který představuje soubor sešitu aplikace Excel. Protože Excel může mít otevřeno více sešitů současně, existuje také kolekce Workbooks, která obsahuje jeden objekt Workbook pro každý otevřený soubor. Stejně jako u všech aplikací Office Objekt aplikace je na vrcholu hierarchie objektů a je k dispozici jako implicitní odkaz při práci v Excelu.

    V sešitech Excelu existuje ještě jeden typ listu - list s grafem (objekt Chart) - speciální tabulka, která obsahuje pouze graf. Kolekce Charts objektu Application poskytuje přístup ke všem grafům všech otevřených souborů, zatímco kolekce Charts objektu Workbook poskytuje přístup pouze ke grafům daného sešitu. Grafy mohou být také vloženy do listů namísto vlastního listu. Takové grafy nejsou součástí kolekce grafů, ale jsou k dispozici jako součást kolekce Chartob-jects objektu Worksheet. Kolekce Sheets poskytuje přístup ke všem listům, tabulkám i grafům.

    Většina toho, co děláte v Excelu, zahrnuje objekt Range. Přestože název tohoto objektu je stejný jako jeho protějšek ve Wordu, jejich složení se liší. Jeho funkce jsou však téměř stejné: rámování části dokumentu, se kterou se pracuje. Rozsahem může být jedna buňka, dvourozměrný blok buněk na listu nebo trojrozměrný blok buněk zahrnující více listů.

    Další důležitá nedílnou součástí Objektový model aplikace Excel je objekt Chart. Pro každý graf v sešitu je v kolekci grafů obsažen jeden objekt grafu. Každý objekt Chart má podmnožinu objektů, které představují součásti grafu, jako jsou osy a legenda.

    Změníme naše makro, přejdeme na položku nabídky „makra“, vybereme naše a řekneme „upravit“:

    Tlumená kniha jako provázek

    Dim list As String

    Dim addr As String

    kniha = Application.ActiveWorkbook.Name

    list = Application.ActiveSheet.Name

    Sešity (kniha).Aktivovat

    Pracovní listy(list).Aktivovat

    Rozsah("A1") = kniha

    Rozsah("B1") = list

    Dim xList As Integer

    xList = Application.Sheets.Count

    Pro x = 1 To xList

    s = addr + LTrim(Str(x))

    Programování VBA si lze představit jako správu aplikačních objektů. Toto jsou objekty, které naše aplikace spravuje. V našem případě, pokud zjednodušíme hierarchickou architekturu, vypadá takto.

    To znamená, že hlavním objektem je aplikace. Aplikace může mít několik sešitů, uvnitř kterých jsou sešity a listy jsou rozděleny do buněk. Během provozu může být aktivní pouze jeden sešit a jeden list. Takže se to snažím zjistit pomocí svého makra. A zároveň kolik listů je v aktuální knize.

    DIM - deklaruje proměnnou s zadejte řetězec. Pomocí objektu Application získáme názvy aktuálních sešitů a listu. Pomocí Range("...") můžete vybrat buňku a umístit do ní hodnoty nebo ji přečíst. Obecně platí, že objekty mají obrovské množství vlastností. Úkolem programátora VBA je znát tyto vlastnosti a metody.

    Ze všech kancelářské programy Excel se nejčastěji používá k vytváření vlastních aplikací. Existují pro to dvě vysvětlení. Za prvé, tento balíček určeno pro široký rozsah aplikované úlohy zpracování dat. Zadruhé, ve skutečnosti s ním začala historie moderního VBA. S několika řádky kódu obsaženými v Excelu můžete vytvořit program, který dokáže provádět seriózní výpočty a kreativní analýzy pomocí grafiky a sestav. Nicméně pro vývoj vlastní aplikace jsou vyžadovány následující podmínky:

    § musíte se naučit pracovat s Excelem v jeho tradiční verzi, která vám umožní používat minimum programový kód využít maximum vestavěných možností balíčku. Čím lépe znáte samotný produkt, tím snazší je vytvářet aplikace;

    § nutné zvládnout hierarchický model objekty Excelu spolu s odpovídajícími vlastnostmi, metodami a událostmi, jejichž prostřednictvím je prostředí Excelu řízeno při vývoji vlastní aplikace;

    § prostředí by mělo být studováno Vývoj VBA, kde můžete napsat programový kód, vytvořit vlastní formuláře a ladit vaši aplikaci.

    Excel se skládá z více než 100 objektů – od buněk a grafů po sešity a tabulky. Každý objekt má sadu vlastností, které jej řídí vzhled a chování a také obsahuje metody, které poskytují konkrétní akce pomocí tohoto objektu. Některé objekty mají události.

    Například objekt Sešit je konkrétní soubor Vynikat. Má vlastnosti Jméno (název souboru), Cesta (název adresáře) a Autor (jméno autora souboru). Metoda Uložit uloží soubor. Takto vypadá použití těchto metod:

    Existují dva způsoby, jak odkazovat na objekty: můžete odkazovat přímo na název jednoho z objektů nebo na index v kolekci. Podle jednoduchá definice sbírka je skupina podobných předmětů. Všechny objekty aplikace Excel jsou rozděleny do dvou tříd: jednotlivé objekty a objekty v kolekci. U prvního se odkaz provádí přímo jejich jménem, ​​u druhého - podle indexu v této skupině. Kolekce poskytují možnost hierarchicky organizovat objekty. Například kolekce Workbooks obsahuje všechny objekty Workbook. Chcete-li odkazovat na konkrétní sešit, můžete zadat název:

    Sešity("Sešit1.xls")

    nebo číslo
    sešity (1)

    Čtyři klíčové objekty

    Klíčové objekty v Excelu jsou Aplikace, Sešit, Pracovní list a Rozsah, které tvoří hierarchii:

    Objekt Application reprezentuje sám sebe program Excel. Všechny aplikace Excel/VBA jsou implementovány v Excelu, takže si tento objekt můžete představit jako prostředí, ve kterém jsou implementovány. Ovlivňují všechna nastavení vlastností nebo volání metod provedená v objektu Application všechny Excel a podle toho za všechno aplikace VBA provádějící ve svém prostředí. Pomocí objektu Application můžete například zneviditelnit stavový řádek Excelu a změnit jeho název:

    Application.DisplayStatusBar = False
    Application.Caption = " Vlastní aplikace"

    Objekt Workbook je soubor sešitu aplikace Excel. Z hlediska vývoje aplikací jej lze považovat za doručovací mechanismus nebo kontejner pro jakoukoli aplikaci VBA vytvořenou pomocí Nápověda k Excelu. Všechna nastavení vlastností nebo volání metod provedená na objektu Sešit ovlivňují tuto aplikaci. Chcete-li například nastavit ochranu a uložit sešit, můžete použít následující kód:

    S Application.Workbooks(1)

    Uložit
    Konec s

    Objekt Worksheet obsažený v sešitu slouží k několika účelům v aplikaci Excel/VBA. Obsahuje buňky, do kterých může uživatel zahrnout vzorce pro provádění výpočtů. Vlastnosti a metody objektu Worksheet zpracovávají tabulku jako celek. Například následující kód změní název tabulky (listu) a zneviditelní jej:

    S aplikací.Sešity(1).Pracovní listy(1)

    Name = "Práce s cennými papíry"

    Viditelné = nepravdivé

    Objekt Range představuje jednu nebo více buněk v tabulce. Používá se především k ukládání a zobrazování částí dat: čísel, řetězců nebo vzorců. Buňky tabulky, které jsou reprezentovány v objektu Range, mají široké možnosti. Uživatel má například přístup k více než 400 vestavěným Excel funkce a volat funkce VBA. Můžete také vytvořit odkazy na jiné buňky ve stejné tabulce, jiné tabulky nebo jiné pracovní sešity. Flexibilita a výkon objektu Range umožňuje vylepšit vestavěný výpočetní stroj Excelu a vytvářet složitější aplikace pro analýzu dat.

    Objekt aplikace

    Objekt Application je hlavním (kořenovým) objektem v hierarchii objektů aplikace Excel a představuje samotnou aplikaci Excel, kterou má velký počet vlastnosti a metody, které vám umožní nastavit obecné parametry Aplikace Excel Uveďme její hlavní vlastnosti a metody.

    Základní vlastnosti objektu Application

    1 ActiveWorkbook, ActiveSheet, ActiveCell – vrátí aktivní sešit, list a buňku V následujícím příkladu je do aktivní buňky zadán výraz „Sestava“.

    ActiveCell.Value=”Report”

    2 Titulek - vrací nebo nastavuje text z nadpisu hlavního okna aplikace Excel V následujícím příkladu je nadpis okna aplikace nastaven na text „May Report“.

    Application.Caption=”Zpráva za květen”

    3.DisplayFormulaBar je logická vlastnost, která řídí zobrazení řádku vzorců Například v následujícím kódu není řádek vzorců zobrazen: Application.DisplayFormulaBar

    4 DisplayStatusbar – logická vlastnost, která řídí zobrazení stavového řádku

    5 Cesta – vrátí cestu k souboru Excel.exe

    6 StatusBar – vrátí nebo nastaví text zobrazený ve stavovém řádku

    7 Verze – vrátí číslo aktuální verze Excel Používá se ke kontrole, zda je použita správná verze.

    Pokud Application.Varsion<>“9.0” Poté Exit Sub

    Objekt sešit a rodina sešitů

    V hierarchii aplikace Excel je tento objekt bezprostředně za objektem Application a představuje soubor sešitu.

    Základní vlastnosti objektu Workbook a rodiny Workbooks

    1 ActiveSheet – vrátí aktivní list

    2 Název – vrátí nebo nastaví název knihy

    Z Návraty cesty celé jméno složku, ve které se nachází tuto knihu

    4 Uloženo – booleovská vlastnost, která určuje, zda byly v sešitu provedeny změny od jeho posledního uložení

    Základní metody objektu Workbook a rodiny Workbooks

    1 Aktivovat – aktivuje sešit tak, aby byl aktivní jeho první list.

    Sešity („HR oddělení“). Aktivovat

    2 Chránit – chrání sešit před prováděním změn v něm

    3 Zavřít – zavře knihu

    4 Otevřít – otevře existující knihu.

    Open(FileName), kde FileName je název souboru, který se má otevřít

    Například:

    Otevřít („Storage.xls“)

    Hlavní události tohoto objektu jsou Open (vyskytuje se při otevření sešitu, např. napíšeme postup pro zpracování události Open objektu Workbook při jeho otevření).

    Sub Workbook_Open()

    MsgBox ("Dobrý den")

    Objekt listu a rodina listů

    V hierarchii Objekt Excel List přichází bezprostředně za objekt Workbook a představuje list

    Základní vlastnosti objektu Worksheet a rodiny Worksheets

    1 Název – vrátí nebo nastaví název listu

    2 Buňky – Vrátí rodinu všech buněk listu nebo objekt Range – konkrétní buňku, pokud je v závorce uvedeno číslo řádku a sloupce, na jehož průsečíku se buňka nachází.

    Worksheets(1).Cells.Interior.ColorIndex=3 – vybarví všechny buňky prvního listu červeně.

    Worksheets(1).Cells(1,2).Value=”Ahoj” – zobrazí řetězec “Ahoj” v buňce umístěné v prvním řádku ve druhém sloupci

    3 Sloupce, Řádky – vrátí rodinu všech sloupců a řádků listu nebo konkrétního sloupce, pokud je uveden například index v závorkách

    WorkSheets(1).Columns(2) - vrátí druhý sloupec

    Základní metody objektu Worksheet a rodiny Worksheets

    1 Aktivovat - například aktivuje zadaný list

    Pracovní listy(1).Aktivovat

    2 Odstranit – odstraní zadaný list. Například

    Pracovní listy(1).Smazat

    3 Chránit – chrání list před změnami

    Hlavní události tohoto objektu jsou Activate (nastane při aktivaci listu) a Deactivate (vyskytne se při deaktivaci listu například napíšeme postup pro manipulaci s událostí Activate objektu Worksheet při jeho aktivaci). zároveň zobrazíme nějakou zprávu:

    Sub Worksheet_Activate()

    MsgBox ("Dobrý den")

    Rozsah objektu

    V hierarchii aplikace Excel je objekt Range, jeden z klíčových objektů VBA, bezprostředně za objektem Worksheet. Objekt Range není členem žádné rodiny objektů.

    Pokud rozsah určuje pouze názvy sloupců a řádků, pak objekt Range určuje rozsah sestávající z zadané sloupce a řetězce Například Range(“A:C”) určuje rozsah sestávající z sloupce A,B,C. Range(“A:A”) určuje rozsah sestávající ze sloupce A, Range(“2:2”) určuje rozsah sestávající z druhého řádku.

    Aby bylo možné odkazovat na určitý rozsah buněk, stačí zadat adresu jeho levé horní buňky a adresu jeho pravé dolní buňky. Například Range(“A1:B3”) určuje rozsah složený z buněk A1 ,A2,A3,B1,B2,B3.

    Buňka je speciální případ rozsahu, který se skládá z jedné buňky, například Range(“A1”) určuje rozsah skládající se z buňky A1.

    Základní vlastnosti objektu Range

    1 Hodnota - vrátí nebo nastaví hodnotu například v buňkách rozsahu

    x=Rozsah(“C1”).Hodnota - Některé proměnné x je přiřazena hodnota z buňky C1

    2 Název – vrátí nebo nastaví název rozsahu

    3 Columns, Rows - vrátí například všechny sloupce nebo řádky v rozsahu

    Worksheets(1).Range("A1:B3").Columns.Value = 2 – ve všech sloupcích rozsahu

    A1:B3 zobrazí se číslo 3

    4 Interior - vrátí objekt Interior, který představuje pozadí buňky mezi vlastnosti objektu Interior

    Poznamenejme jen jednu věc - ColorIndex - barvu pozadí, která je určena celými čísly od 1 do 56. Např.

    Rozsah(“A1”).Interior.ColorIndex=3 – Pozadí buňky A1 je vyplněno červenou barvou

    5 Font – Vrátí objekt Font představující písmo Objekt Font má vlastnosti Name (řetězec označující název písma) atd.

    6 HorizontalAlignment- Horizontální zarovnání V buňkách rozsahu jsou přijatelné hodnoty xlCenter (Zarovnání na střed), xlRight (Zarovnání doprava) atd.

    Hlavní metody objektu Range

    1 ClearFormats a ClearContents - například vymazat formáty a obsah v buňkách rozsahu

    Rozsah („A1:D2“). Vymazat obsah

    2 Vybrat – výběr rozsahu


    ©2015-2019 web
    Všechna práva náleží jejich autorům. Tato stránka si nečiní nárok na autorství, ale poskytuje bezplatné použití.
    Datum vytvoření stránky: 2016-02-16



    
    Nahoru