Excel-objectmodel. Excel-objecten. Berekenen - geforceerde herberekening

De basis van het Excel-objectmodel is het Worksheet-object, dat één werkblad in een bestand vertegenwoordigt. Elk werkbladobject maakt deel uit van de verzameling Werkbladen, die behoort tot het werkboekobject dat het bestand vertegenwoordigt werkboek Excel. Omdat Excel meerdere werkmappen tegelijkertijd geopend kan hebben, is er ook een Workbooks-verzameling die voor elk geopend bestand één Workbook-object bevat. Zoals bij alle Office-toepassingen staat het Application-object bovenaan de objecthiërarchie en is het beschikbaar als impliciete referentie wanneer u in Excel werkt.

Er is een ander type blad in Excel-werkmappen: een grafiekblad (grafiekobject) - een speciale tabel die alleen een diagram bevat. De Charts-collectie van het Application-object biedt toegang tot alle diagrammen van alle geopende bestanden, terwijl de charts-collectie van het Workbook-object alleen toegang biedt tot de diagrammen van een bepaalde werkmap. Grafieken kunnen ook in werkbladen worden ingesloten in plaats van dat ze een eigen werkblad hebben. Dergelijke kaarten maken geen deel uit van de kaartcollectie, maar zijn in plaats daarvan beschikbaar als onderdeel van de Chartobjects-collectie Werkbladobject. De Spreadsheets-collectie biedt toegang tot alle werkbladen, zowel tabellen als grafieken.

Het meeste van wat u in Excel doet, heeft betrekking op het Range-object. Hoewel de naam van dit object dezelfde is als zijn tegenhanger in Word, zijn de composities verschillend. De functies ervan zijn echter vrijwel hetzelfde: het inlijsten van het deel van het document waarmee wordt gewerkt. Een bereik kan een enkele cel zijn, een tweedimensionaal blok cellen op een werkblad of een driedimensionaal blok cellen dat meerdere werkbladen beslaat.

Nog een belangrijk integraal onderdeel Het objectmodel van Excel is het Chart-object. Voor elk diagram in de werkmap bevindt zich één diagramobject in de diagramcollectie. Elk diagramobject heeft een subset objecten die de componenten van het diagram vertegenwoordigen, zoals de assen en de legenda.

We zullen onze macro wijzigen, naar het menu-item "macro's" gaan, de onze selecteren en "bewerken" zeggen:

Dimboek As String

Afm blad als string

Dim adres als string

book = Applicatie.ActiveWorkbook.Name

blad = Application.ActiveSheet.Name

Werkmappen(boek).Activeren

Werkbladen(blad).Activeren

Bereik("A1") = boek

Bereik("B1") = blad

Dim xLijst als geheel getal

xList = Application.Sheets.Count

Voor x = 1 Naar xLijst

s = addr + LTrim(Str(x))

VBA-programmeren kan worden gezien als het beheren van applicatieobjecten. Dit zijn de objecten die onze applicatie beheert. Als we in ons geval de hiërarchische architectuur vereenvoudigen, ziet het er zo uit.

Dat wil zeggen, het hoofddoel is de applicatie. Een toepassing kan meerdere werkmappen hebben, waarin zich werkbladen bevinden en de bladen zijn onderverdeeld in cellen. Tijdens het werken kunnen slechts één werkmap en één blad actief zijn. Dus ik probeer dit uit te zoeken met mijn macro. En tegelijkertijd hoeveel vellen er in het huidige boek zitten.

DIM - declareert een variabele met type tekenreeks. Met behulp van het Application-object krijgen we de namen van de huidige werkmappen en werkbladen. Met Range("...") kun je een cel selecteren en er waarden in plaatsen of lezen. Over het algemeen hebben objecten een groot aantal eigenschappen. De taak van de VBA-programmeur is om deze eigenschappen en methoden te kennen.

Verzameling (Verzameling
  • (VBA-PROGRAMMERING IN MS EXCEL)
  • (INFORMATICA.)
  • Basisobjecten van de MS Excel-applicatie
    Laten we eens kijken hoe het MS Excel-objectmodel vanuit een algemeen perspectief is gestructureerd. Er zijn objecten en hun collecties (families). Verzameling (Verzameling) is een object dat bestaat uit een verzameling andere objecten van hetzelfde type. Alle objecten en collecties zijn verbonden door generieke hiërarchische relaties....
    (VBA-PROGRAMMERING IN MS EXCEL)
  • KENMERKEN VAN INTERACTIE VAN MS EXCEL EN OPENOFFICE.ORG CALC-TOEPASSINGEN
    De sectie biedt kort overzicht samenstelling en mogelijkheden van het OpenOftice-pakket. org (ОО.®). Het objectmodel en de taalconstructies van de taal OO.o Basic (StarBasic) worden alleen in aanmerking genomen in het kader van de vergelijking en interactie met de MS Excel-applicatie. Merk op dat OpenOffice.org behoorlijk populair is...
    (VBA-PROGRAMMERING IN MS EXCEL)
  • Voorbeelden van het gebruik van Excel-functies
    Voorbeeld 9.1. Maak een grafiek van de warmtecapaciteit van de Ci8H36-component als functie van de temperatuur. De warmtecapaciteiten en bijbehorende temperaturen worden gegeven in de tabel. 9.1. Tabel 9.1 Temperatuur, K 300 400 500 600 700 800 900 1000 Warmtecapaciteit, cal/(mol K) 97,71 132,32 146,42 166,00 182,65 196,80 209,01...
    (INFORMATICA.)
  • Lezing Objectmodel MS-Excel.

    1. Algemene kenmerken MS Excel-objectmodel

    2. Kenmerken van objecten

    3. Werken in een VBA-omgeving. Objecteigenschappen beheren

    Invoering

    Tabelvormig Excel-processor is een programma met een behoorlijk breed scala aan functies, waarvan u de meeste wel kent. Daarnaast hebben de ontwikkelaars er echter aanpassingshulpmiddelen in opgenomen om de efficiëntie van het oplossen van specifieke problemen te vergroten. Deze middelen omvatten verschillende instellingen, tools voor het automatiseren van gebruikersacties (macro's), evenals een ingebouwd VBA-programmeersysteem. De applicatie zelf is ontwikkeld met behulp van OOP en VBA biedt toegang tot programmaobjecten, zodat een gekwalificeerde gebruiker er praktisch toegang toe heeft onbeperkte mogelijkheden om deze applicatie aan te passen. In deze en de volgende lessen laten we je zien hoe je dit kunt gebruiken.

    1. Algemene kenmerken van het objectmodelMEVROUWExcel

    OOP is gebouwd rond het gebruik van objecten. Echte objecten van de omringende wereld hebben twee hoofdkenmerken: ze hebben een reeks eigenschappen en zijn daartoe in staat verschillende methoden verander deze eigenschappen en reageer op gebeurtenissen die zich zowel in de omringende wereld als in het object zelf voordoen. Het is in deze vorm dat het concept van een object in programmeertalen wordt geïmplementeerd, als een reeks eigenschappen (datastructuren die kenmerkend zijn voor dit object) en methoden voor de verwerking ervan (routines voor het wijzigen van eigenschappen).

    Eigenschappen zijn parameters die een object beschrijven. Eigenschappen identificeren bijvoorbeeld een object, bepalen het uiterlijk, de positie op het scherm en de afmetingen.

    Methoden zijn acties die worden uitgevoerd door een object, de werkende operators. Over het algemeen zijn methoden procedures (acties) die kunnen worden uitgevoerd, en eigenschappen zijn attributen die door de gebruiker of het systeem kunnen worden ingesteld.

    Bij het uitvoeren van OOP-programma's wordt het gebeurtenisprincipe geïmplementeerd, waarvan de essentie is dat programmaobjecten kunnen reageren op gebeurtenissen die zich in het systeem voordoen. Gebeurtenissen zijn berichten die de volgorde van de acties van een programma bepalen. Gebeurtenissen kunnen van verschillende aard zijn: muisklikken, de muisaanwijzer bewegen, gegevens invoeren of wijzigen, klikken op knoppen in programmavensters of op toetsenbordtoetsen, programma- en systeemfouten, enz. De reactie bestaat uit het uitvoeren van een van de methoden van het object. De meeste objecten worden gekenmerkt door een Click-gebeurtenis, die plaatsvindt wanneer u met de linkermuisknop op het geselecteerde object klikt. Kenmerkend zijn ook de volgende gebeurtenissen: DblClick (dubbelklikken), MouseDown, MouseUp (de muisknop indrukken en loslaten), Exit en Enter (focus verliezen en verkrijgen) en vele andere.

    De taak van de programmeur bij het maken van een programma is om uit alle beschikbare objecten de benodigde objecten in het programma op te nemen, een lijst met gebeurtenissen vast te stellen waarop het programma moet reageren en aan te geven welke methoden moeten worden gebruikt wanneer elke gebeurtenis plaatsvindt.

    Als er geen object is met de vereiste eigenschappen, kan de programmeur zo'n object maken en dit vervolgens in dit of een ander programma gebruiken.

    Bij het aanpassen van een applicatie is het niet nodig om nieuwe objecten te creëren; het volstaat om bestaande objecten te gebruiken. Je hoeft ze alleen maar te kennen. Een idee van de samenstelling en relaties tussen objecten wordt gegeven door het applicatieobjectmodel. Elke toepassing heeft zijn eigen.

    Het MS Excel-objectmodel is een hiërarchie van objecten die ondergeschikt zijn aan het object Sollicitatie, wat overeenkomt met de applicatie zelf.

    Het aantal objecten is vrij groot, ze vormen een boomstructuur (kleinere takken zijn eigenschappen van grotere). De root van deze “boom” (het initiële object) is Application (de MS Excel-applicatie zelf).

    Sommige objecten zijn enkelvoudig (dat wil zeggen, ze bestaan ​​in één exemplaar), en sommige zijn lid van collecties (families). Voor afzonderlijke objecten is het voldoende om de naam op te geven, en voor familieleden - de familienaam en het nummer of de naam van het familielid.


    Hieronder vindt u enkele MS Excel-objecten die we in onze programma's zullen gebruiken.

    Rijst. 1. Vereenvoudigd Excel-objectmodel

    In deze figuur staan ​​voor families de namen van objecten uit de families tussen haakjes.

    Om toegang te krijgen tot een eigenschap of methode van een object (objectreferentie), kan een volledige of een impliciete verwijzing worden gebruikt.

    Een volledige verwijzing bestaat uit een reeks geneste objectnamen (volgens een hiërarchie). Een punt wordt gebruikt als naamscheidingsteken. Bijvoorbeeld, volledige koppeling naar cel A5 van het werkblad Blad1 werkboek Boek 1(en bijvoorbeeld het getal 10 erin schrijven) in de toewijzingsoperator heeft de vorm:

    Application.Workbooks("Boek1").Werkbladen("Blad1").Bereik("A5") = 10

    Excel-objectmodel

    Excel-objecten

    Programmeur aan het werk Excel, moet vrij door de wereld van zijn objecten navigeren. De kracht van kantoorprogrammering wordt bepaald door het feit dat de programmeur in eerste instantie tot zijn beschikking heeft groot aantal reeds voltooide objecten. Om de geboden mogelijkheden goed te kunnen benutten, is het nodig dat je de objecten kent.

    Over objecten gesproken Excel Het is raadzaam om te beginnen met het documentskelet Excel. In eerdere boeken heb ik veel geschreven over het belangrijke concept van het documentskelet. De talrijke bibliotheken met Office 2000-objecten, waarvan de verzameling Office 2000 voor de programmeur vertegenwoordigt, vormen het raamwerk voor alle documenten die in deze omgeving kunnen worden gebouwd. Wanneer gemaakt nieuw document, Bijvoorbeeld, Excel-werkmap, dan worden er standaard meerdere geselecteerd uit de volledige set bibliotheken, waarvan de objecten het raamwerk van het document vormen. Deze objecten zijn zonder enige beschikbaar voor de programmeur extra inspanning. Centrale rol in documentframe Excel uiteraard gespeeld door bibliotheekobjecten Excel. Maar kennis en alle andere objecten in het frame zijn noodzakelijk. Wanneer bijvoorbeeld software creatie interface is noodzakelijk kennis gemeenschappelijke voorzieningen Kantoorbibliotheken. Ik merk ook op dat de programmeur desgewenst het documentframework altijd kan uitbreiden door er bepaalde bibliotheken aan toe te voegen. Het draadframe dat standaard wordt gemaakt wanneer een nieuw draadframe wordt geopend werkboek, bestaat uit objecten die zijn opgenomen in de volgende bibliotheken:

    · Excel- een bibliotheek die de basis legt voor Excel-documenten. Dit is waar de klasse die het hoofdobject Excel.Application definieert, en alle objectklassen die in het hoofdobject zijn genest, worden opgeslagen.

    · Kantoor- een bibliotheek met objecten die iedereen gemeen heeft Kantoortoepassingen 2000. Hier zijn de klassen die werkbalken definiëren: CommandBar en klassen van andere veel voorkomende objecten. De klassen die de Assistent definiëren, bevinden zich hier ook (het Assistent-object en alle daaraan gekoppelde klassen). In het bijzonder was er nieuw voorwerp, wat niet in de vorige versie zat - Antwoordwizard.

    · Stdole- een klassenbibliotheek waarmee u met OLE-objecten kunt werken en automatisering kunt implementeren.

    · VBA- bibliotheek met klassen gerelateerd aan de VBA-taal. Hier wordt alles opgeslagen standaard kenmerken en constanten ingebouwd in de taal, de klassen Collection en ErrObject.

    · VBA-project- het standaardproject dat aan het document is gekoppeld. Klassen die door een programmeur in dit project kunnen worden gemaakt, methoden, eigenschappen - dit alles is beschikbaar om te bekijken, net als objecten van klassen die in standaardbibliotheken zijn ingebouwd.

    Als we het werkboekframework vergelijken Excel bijvoorbeeld met een documentframe Woord, dan verschillen ze doordat de ene gebaseerd is op een bibliotheek Excel, de andere is gebaseerd op een bibliotheek Woord. Deze bibliotheken bevatten applicatiespecifieke objecten. Wat interface-objecten betreft, objecten die de editoromgeving definiëren VBA, automatisering, dan worden hier gewone objecten gebruikt. Kantoorbibliotheken, Stdole, VBA- Dit zijn bibliotheken die gemeenschappelijk zijn voor alle Office 2000-toepassingen. Ik sprak gedetailleerd over de objecten van deze bibliotheken in .

    Ik merk op dat hoewel het documentframe Excel ongewijzigd in Office 2000 vergeleken met vorige versie Tegelijkertijd hebben er behoorlijk belangrijke veranderingen plaatsgevonden in het objectmodel, zijn er nieuwe objecten, nieuwe eigenschappen en methoden van eerder bestaande objecten verschenen.

    Excel-objectmodel

    Allereerst een paar woorden over hoe het werkt Excel-objectmodel en andere Office 2000-toepassingen In dit model zijn objecten aan elkaar gerelateerd door de relatie inbedden. Op het nulniveau van de hiërarchie staat iets centraal voorwerp, waarin andere objecten zijn ingebed die het eerste niveau van de hiërarchie vormen. Objecten kunnen in elk van de objecten van het eerste en volgende niveau worden ingebouwd volgende niveau. Dit proces gaat dus door. Objecten in dit model zijn dus "dik" omdat er een groot aantal andere objecten in zijn ingebed. Dit geldt vooral voor voorwerpen die erop staan hogere niveaus hiërarchie.

    Excel-objectmodel - Basis met behulp van VBA in Excel. Programmeren in Excel is anders dan programmeren in anderen VBA-applicaties in die zin dat hier enkele commando's zijn toegevoegd om toegang te krijgen tot tabellen en boeken beste functionaliteit zodat de gebruiker normaal door de structuur kan navigeren Excel-menu.



    Objectmodel Microsoft-toegang, bevat bijvoorbeeld opdrachten en objecten gericht op het werken met databases, dat wil zeggen het werken met tabellen, queries, formulieren en rapporten. In Excel, dat gericht is op het werken met werkmappen en tabellen, is het objectmodel precies daarvoor ontworpen. Excel is een applicatie die uit drie lagen bestaat: een laag die gebruikersinteractie biedt, een objectmodellaag en een laag die met de gegevens zelf werkt. Gebruikersinterface in de vorm Excel-tabellen De laag die u doorgaans ziet, is de clientlaag en is het meest geoptimaliseerd voor de gebruikerservaring.


    Spreadsheets zijn vaak erg belangrijk in de boekhouding. Voor meer kwaliteitswerk nodig bij hen goed programma voor boekhouding, waarvan Info-Enterprise er één is. Dit effectief programma Voor boekhouding, zodat u kunt dirigeren verschillende soorten rapportage bijvoorbeeld belastingaangifte, financiële overzichten enz. Door zijn eenvoud en leergemak is het zeer geschikt voor individuele ondernemers en kleine bedrijven.


    Telkens wanneer u iets in uw spreadsheet doet, geeft u opdrachten via het Excel-objectmodel. Wanneer u bijvoorbeeld een boek opent, wordt code uitgevoerd die is gekoppeld aan de hoofdmenu-items Excel-bestand- Open en dezelfde code wordt gebruikt door het Workbooks-team. Open, wat opent Excel-werkmap en voegt gegevens daarover toe aan de verzameling boekobjecten. Zo ook als je binnen bent Excel-instellingen verander de berekeningsmodus naar handmatig en druk op de F9-toets om de formules opnieuw te berekenen. Hetzelfde programma wordt uitgevoerd als gevolg van het aanroepen van de opdracht Applicatie. Berekenen. Met behulp van het Excel-objectmodel en de programmeertaal Visual Basic is het niet zo moeilijk om uw eigen datapresentatieapplicatie te ontwikkelen met dezelfde functionaliteit als MicrosoftExcel. Elke menuopdracht en elke knop in Microsoft Excel is toegewezen aan het Excel-objectmodel. Dit wil niet zeggen dat Excel dezelfde objecten gebruikt, maar Microsoft geeft je de mogelijkheid om objecten en methoden te gebruiken, zodat je alles in je code kunt doen, net als in het Excel-menu. Het lijkt misschien vreemd, maar als u besluit uw eigen toepassing voor gegevenspresentatie te maken, zal de hoeveelheid code die u moet schrijven relatief klein zijn, omdat alle functionaliteit al in bestaande objecten zit.


    Onder het objectmodel bevindt zich een gegevensverwerkingslaag, die de gegevens zelf opslaat en verantwoordelijk is voor de opslag en verwerking ervan. Het Excel-objectmodel bevat een groot aantal objecten, bijvoorbeeld Werkmap, Werkblad, Bereik, Grafiek, Draaitabel, Opmerkingen. Deze faciliteiten bieden een verscheidenheid aan mogelijkheden voor gegevensverwerking. Het belangrijkste is dat ze kunnen worden beheerd door uw code.


    Bij het programmeren in VBA gebruik je standaard operatoren en functies zoals For...Next, If...Then...Else, MsgBox, maar je gebruikt ook het objectmodel om mee te communiceren Excel-applicatie, het beheren van de eigenschappen en methoden van verschillende objecten.


    Een object is een structuur die gegevens bevat en methoden om ermee te werken. Het bestaat als één geheel en de toegang wordt geboden via een speciale software-interface.


    Een object is een onderdeel Excel-programma's. Objecten hebben hun eigen hiërarchie. Naast de Applicatie staat het Werkboekobject, gevolgd door het Werkblad. Het volgende na elk werkbladobject is Bereik, enzovoort. Elk object heeft zijn eigen instellingen, eigenschappen genoemd, en acties die op het object kunnen worden uitgevoerd, methoden genoemd.