Konfiguracja sprzętu i oprogramowania

Kontrolki formularzy w MS EXCEL. Kiedy używać obiektów osadzonych

Praca laboratoryjna

BADANIE INTERFEJSU PROCESORA MOWY MS EXCEL 2010. PROSTE OBLICZENIA

Cele pracy:

1) zapoznać się z możliwościami procesora arkuszy kalkulacyjnych;

2) zapoznaj się z interfejs użytkownika programy MS Excel 2010;

3) zapoznanie się z podstawowymi metodami pracy w MS Excel 2010.

Ćwiczenie:

1) opracowanie pkt 1 „Materiały szkoleniowe”;

2) wykonać zadania, o których mowa w ust. 2;

3) odpowiedz pytania testowe(pkt 3).

MATERIAŁ EDUKACYJNY

Podstawowe pojęcia dotyczące arkusza kalkulacyjnego

procesor arkuszy kalkulacyjnych- to jest program komputerowy do przechowywania i przetwarzania informacji przedstawionych w formie tabelarycznej. Struktura programu to dwuwymiarowa tablica składająca się z wierszy i kolumn, więc te oprogramowanie zwane również arkuszami kalkulacyjnymi (ET).
Za pomocą ET możesz nie tylko tworzyć tabele, ale także automatyzować przetwarzanie danych.

Funkcje procesora arkuszy kalkulacyjnych są bardzo zróżnicowane:

§ tworzenie i edytowanie tabel;

§ projektowanie i drukowanie stołów;

§ Tworzenie dokumentów wielotabelowych, połączonych formułami;

§ budowa schematów;

§ pracować z ET jak z bazą danych; pobieranie próbek danych na żądanie;

§ tworzenie zestawień i zestawień zbiorczych;

§ rozwiązywanie problemów typu „co jeśli” poprzez wybór parametrów;

§ rozwiązywanie problemów optymalizacyjnych;

§ Tworzenie programów makr przy użyciu wbudowanego języka Programowanie wizualne Podstawowe dla aplikacji (VBA).

Tabelaryczny Procesor Excel jest część integralna zintegrowany pakiet oprogramowania Microsoft Office.

Po uruchomieniu Excel 2010 na ekranie pojawia się okno o następującej strukturze:

1. Tytuł programu.

2. Płyta szybki dostęp za pomocą przycisku ustawień panelu, który domyślnie znajduje się w górnej części okna aplikacji Excel (rys. 1). Zaprojektowany z myślą o szybkim dostępie do najczęściej używanych funkcji. Domyślnie panel zawiera tylko trzy przyciski: Zapisz, Cofnij, Ponów (Ponów). Pasek narzędzi szybkiego dostępu można dostosować, dodając do niego nowe polecenia.

Ryż. 1. Pasek narzędzi szybkiego dostępu

3. Wstążka. W programie Excel 2010 menu i paski narzędzi są zaprojektowane jako wstążka. Polecenia są zorganizowane w logiczne grupy zorganizowane na zakładkach. Karty zorientowany na zadania. Grupy na każdej karcie zadanie jest podzielone na elementy składowe. Przyciski poleceń w każdej grupie służą do wykonywania poleceń lub wyświetlania menu poleceń. Ikona (przycisk) grupy to mały kwadrat w prawym dolnym rogu grupy elementów w zakładce (rys. 2). Kliknięcie ikony otwiera okno dialogowe lub okienko zadań odpowiadające tej grupie dla rozszerzenia funkcjonalność. Na przykład ikona grupy Czcionka zakładki Dom otwiera okno dialogowe Format komórki. Ikona grupy Schowek wyświetla okienko zadań Schowek.Nie każda grupa ma ikonę.



Domyślnie okno wyświetla siedem stałych zakładek: Dom, Wstawić, Układ strony, Formuły, Dane, Recenzja równorzędna, Pogląd.patka Dom otwiera się domyślnie po uruchomieniu programu.

Ryż. 2. Przyciski grupowe

Oprócz stałego cała linia zakładki kontekstowe, na przykład do pracy ze zdjęciami, wykresami itp., które pojawiają się automatycznie po przełączeniu w odpowiedni tryb lub po wybraniu obiektu lub ustawieniu na nim kursora. W niektórych przypadkach kilka kart pojawia się jednocześnie, na przykład podczas pracy z wykresami pojawiają się trzy karty: Konstruktor, Układ oraz Format. Nie ma możliwości wymuszenia wyświetlania kart kontekstowych.

Możesz poruszać się po wstążce za pomocą klawiatury: jeśli naciśniesz klawisz , na wstążce pojawią się monity o przejście do odpowiedniej zakładki (rys. 3).

Ryż. 3. Klawisze nawigacyjne wstążki

Klikając na zakładkę, możesz zobaczyć podpowiedzi na klawiszach, aby poruszać się po bieżącej zakładce (rys. 4).

Ryż. 4. Klawisze nawigacji po kartach Dom

Nie można zastąpić wstążki paskami narzędzi ani menu z poprzednich wersji programu Microsoft Excel. Nie możesz też usunąć taśmy. Wstążkę można jednak ukryć (zwinąć), aby powiększyć obszar roboczy. Sposoby:

1. Naciśnij przycisk Zwiń wstążkę znajduje się po prawej stronie paska tytułu karty. Naciśnij przycisk, aby powrócić Rozwiń wstążkę.

2. Aby szybko ukryć/pokazać wstążkę, wystarczy dwukrotnie kliknąć tytuł dowolnej karty.

3. Taśmę można zwinąć w inny sposób:

a) kliknij prawym przyciskiem myszy w dowolnym miejscu wstążki;

b) w menu kontekstowym wybierz polecenie Zwiń wstążkę.

4. Aby zminimalizować lub przywrócić wstążkę, możesz również nacisnąć kombinację klawiszy .

Wstążkę można dostosować: zmieniać nazwy i kolejność stałych zakładek, tworzyć nowe zakładki
i usuwaj je, twórz, usuwaj, zmieniaj układ grup elementów na zakładkach, dodawaj i usuwaj poszczególne elementy itp.:

1) kliknij prawym przyciskiem myszy w dowolnym miejscu wstążki;

2) w menu kontekstowym wybierz polecenie Personalizacja wstążki.

Również wstążka jest konfigurowana w oknie Opcje programu Excel w kategorii Personalizacja wstążki menu Plik.

4. Zakładka (menu) "Plik". patka Plik zawsze znajduje się w paszy najpierw od lewej. Menu zawiera polecenia do pracy z plikami ( Ratować, Zapisz jako, otwarty, blisko, Najnowszy, Tworzyć), aby pracować z bieżącym dokumentem ( Inteligencja, Drukuj, dostęp), a także dostosować Excel ( Odniesienie, Opcje). Przycisk Wyjście skwitowany
z aplikacją.

5. Minipaski narzędzi. Minipaski narzędzi (rys. 5) zawierają główne najczęściej używane elementy do dekorowania tekstu dokumentu, rysunków, diagramów i innych obiektów. W przeciwieństwie do innych aplikacji pakietu Office 2010 (Word, PowerPoint itp.), Excel 2010 nie wyświetla automatycznie minibaru po wybraniu arkusza roboczego. Aby go wyświetlić, kliknij prawym przyciskiem myszy wybrany obszar. Kompozycja elementów minipaneli jest stała i niezmienna.


Ryż. 5. Minipasek narzędzi i menu kontekstowe

6. Pasek formuły, składający się z trzech części:

a) aktywne adresy komórek ;

b) przyciski Anulować, Wejście, które pojawiają się w trybie wprowadzania lub edycji, oraz przyciski Wstawianie funkcji f x ;

c) zawartość aktywnej komórki.

Aby wyświetlić i edytować zawartość wybranej komórki, możesz zwiększyć wysokość paska formuły. Aby to zrobić, kliknij przycisk Rozwiń pasek formuły. Jeśli w takim przypadku nie zostanie wyświetlona cała zawartość komórki, możesz użyć paska przewijania. Aby zresetować pasek formuły do ​​pierwotnego stanu, kliknij przycisk Zwiń pasek formuły. Możesz usunąć/wyświetlić pasek formuły w następujący sposób: Plik® Opcje® do tego® kategoria Ekran® Pokaż pasek formuły.

7. Ciąg współrzędnych- zawiera nazwy kolumn.

8. Kolumna współrzędnych- zawiera numery linii.

9. Pole robocze.

10. Poziome i pionowe paski przewijania.

11. Karty arkuszy z przyciskami nawigacji w arkuszu.

12. Pasek stanu, który wskazuje tryby działania Gotowy, Wejście, Edytować; tryby widoku książki Normalny, układ strony, stronicowany; pasek skali.

Podstawowe obiekty Excela

1. Kolumna. Tabela Excel zawiera 16384 kolumny (2 14). Kolumny są oznaczone literami łacińskimi. Ponieważ jest ich tylko 26, po Z oznaczenie kolumn idzie podwójnymi literami AA, AB, AC, ..., GA, GB, GC, ..., HX, HY, HZ, a po kolumnie ZZ - potrójnymi literami AAA, AAB, AAC, ..., AAZ, ABA , … Numeracja kończy się na kolumnie XFD. Aby szybko przejść do pierwszej lub ostatniej kolumny (wiersza) arkusza roboczego, musisz nacisnąć klawisz<Ctrl> i odpowiedni klawisz kursora.

2. Linia- są w tabeli 1048576 (2 20).

3. Komórka- przecięcie wiersza i kolumny. Każda komórka ma unikalny adres, który wskazuje nazwę kolumny i numer wiersza, na przecięciu którego się znajduje. Przykłady użycia adresów komórek w stylu A1 przedstawiono w tabeli 1.

Tabela 1

Styl komórki A1

Excel obsługuje alternatywny system odniesienia komórki o nazwie R1C1 (od angielskich słów wiersz- linia i Kolumna- kolumna). W tym systemie zarówno kolumny, jak i wiersze tabeli są numerowane, a numer wiersza poprzedza numer kolumny. Na przykład komórka A1 nazywa się R1C1 (wiersz 1, kolumna 1). Komórka B1 to R1C2 (wiersz 1, kolumna 2). Możesz przejść do alternatywnego stylu iz powrotem, przechodząc do menu Plik® Opcje® Formuły® kategoria Praca z formułami® Styl łącza R1C1.

Komórka, w której znajduje się kursor, nazywa się obecny i w danym momencie wykonywane są z nim określone czynności.

4. Blok komórek jest prostokątem, w którym wskazane są adresy komórek lewego górnego i prawego dolnego narożnika, oddzielone dwukropkiem, na przykład A1:C5. Jeśli w akcji do wykonania określony jest blok komórek, to wszystkie jego zaangażowane są komórki.

5. Arkusz roboczy - jest to tabela stworzona do rozwiązania problemu, diagram, makro, rysunek. Domyślna nazwa arkusza to Arkusz1, Arkusz2, .... Można używać arkuszy roboczych następujące działania:

§ zmiana nazwy;

§ usunięcie;

§ wstawić;

§ ruch;

§ kopiowanie.

Te akcje są wykonywane za pomocą menu kontekstowego, gdy wskaźnik myszy znajduje się na karcie arkusza lub w grupie komórki zakładki Dom(rys. 6).

Ryż. 6. Grupa komórki zakładki Dom

Menu Plik® Opcje® do tego® kategoria Pokaż opcje dla następnej książki® Pokaż karty arkuszy umożliwia usuwanie/wyświetlanie kart arkuszy.

6. zeszyt ćwiczeń to plik, który jest przechowywany na dysku i zawiera jeden lub więcej arkuszy. Domyślnie skoroszyt ma nazwę Księga 1, Księga 2 , …. Możesz zapisać plik za pomocą pozycji menu Plik® Ratować. Zespół Zapisz jako jest zaznaczona, jeśli chcesz zapisać plik już zapisany na dysku pod nową nazwą. Pliki Excel 2010 mają rozszerzenie .xlsx .

7. Diagram jest graficznym przedstawieniem danych tabeli. Może być przechowywany na osobnym arkuszu lub może być opatrzony tekstem lub tabelą.

8. Obrazek- stworzony z grupą Ilustracje zakładki Wstawić w samym środowisku Excel lub można je wstawić z innego edytora graficznego.

9. Moduły Visual Basic- programy zwane makrami i tworzone w języku programowania Visual Basic.

Typy danych

Z reguły w ET używane są następujące typy danych:

1. Tekst– dowolna sekwencja znaków używana głównie w nagłówkach tabel, wierszach, kolumnach i komentarzach.

2. Numer. W komórce Excela mogą być wyświetlane trzy typy danych liczbowych (stałych):

a) wszystkie liczby to ciąg cyfr od 0 do 9 ze znakiem lub bez: +25; -100.

b) liczby rzeczywiste stałoprzecinkowe- są to ułamki dziesiętne, w których część całkowita jest oddzielona od przecinka ułamkowego: 28,25; -3,765.

c) rzeczywiste liczby zmiennoprzecinkowe to liczby zapisane w postaci: 1.5E + 03 lub 2E-08. Ten rekord jest również nazywany notacja wykładnicza (format naukowy).

Domyślnie poprawnie wpisana liczba jest wyrównana do prawej krawędzi komórki. Nieprawidłowo wprowadzony numer jest traktowany jako tekst i wyrównany do lewej. Jeśli liczba nie pasuje do szerokości komórki, cała komórka jest wypełniona symbolem # (rys. 7).

Ryż. 7. Rodzaje liczb na arkuszu

3. Formuła - to wyrażenie składające się z liczb, adresów komórek, funkcji i znaków operacji i rozpoczynające się znakiem = . Na przykład:

A1*20%+12*A1*D12.

Kolejność wykonywania operacji arytmetycznych we wzorze jest taka sama jak w matematyce.

4. Funkcjonować- są to zaprogramowane formuły, które pozwalają wykonywać często występujące sekwencje obliczeń (standardowe funkcje o różnym przeznaczeniu).

5.data to data, prezentowana w różnych formatach, od której można wykonywać operacje arytmetyczne i logiczne. Na przykład 21.10.2011; 21 października 2011 i inne

Kopiowanie komórek

biurowy można to zrobić w następujący sposób:

1) zakładka Dom® grupa Schowek® zespół Kopiuj;

2) za pomocą polecenia Kopiuj menu kontekstowe;

3) za pomocą kombinacji klawiszy ;

4) za pomocą techniki „przeciągnij i upuść” trzymając wciśnięty klawisz . W takim przypadku obok wskaźnika myszy pojawia się znak. + (znak kopiowania);

5) za pomocą znacznika w prawym dolnym rogu skopiowanej komórki. W przypadku braku tego znacznika musisz użyć polecenia Plik® Opcje® do tego® kategoria Edytuj opcje® Zezwalaj na wypełnianie komórek i przeciąganie uchwytów.

Główne obiekty programu MS Excel opisane w tej sekcji to: skoroszyt (skoroszyt) i rodzina skoroszytów (skoroszyty), arkusz (arkusz) i rodzina arkuszy (arkusz), zakres komórek lub komórka (zakres).

Po obiekcie, zwykle za pomocą kropki „.”, wskazana jest właściwość lub metoda. Czasami, aby dostać się do określonego obiektu, trzeba przejść przez hierarchię obiektów nadrzędnych.

Skoroszyty("KHMra1.xls").Worksheets("^MCT1").Aktywuj

Rodzina WorkBooks("KHMra1") zapewnia dostęp do skoroszytu. W nawiasach podano nazwę księgi.

Rodzina WorkSheetsE.HMCTl”) zapewnia dostęp do arkusza. W nawiasach podano nazwę arkusza.

Rodzina Range("^Mana30H") zapewnia dostęp do zakresu komórek lub komórki. Nawiasy kwadratowe wskazują zakres komórek lub nazwę komórki.

Komórki (nr wiersza, nr kolumny) zapewniają

dostęp do komórki. Współrzędne komórki podano w nawiasach.

Skoroszyty("Książka1")

Arkusze("Arkusz1")

Zakres("Al:B10")

Więcej na temat Podstawowe obiekty MS Excel:

  1. 2.1. Informacja jako główny przedmiot sfery informacyjnej i systemu prawa
  2. § 4. Główne rodzaje nieruchomości: działki, budynki, budowle, lokale, budowa w toku i przedsiębiorstwa (klauzula 1239-1244)

Termin Obiekty Excela(rozumiany szeroko jako model obiektowy programu Excel) zawiera elementy, które składają się na każdy skoroszyt programu Excel. Są to np. arkusze robocze ( Arkusze robocze), ciągi ( Wydziwianie), kolumny ( kolumny), zakresy komórek ( Zakresy) i sam skoroszyt programu Excel ( zeszyt ćwiczeń) włącznie z. Każdy obiekt programu Excel ma zestaw właściwości, które są z nim integralne.

Na przykład obiekt Arkusz roboczy(arkusz) ma właściwości Nazwa(Nazwa), Ochrona(ochrona), widoczny(widoczność), obszar przewijania(obszar przewijania) i tak dalej. Jeśli więc podczas wykonywania makra wymagane jest ukrycie arkusza roboczego, wystarczy zmienić właściwość widoczny ten arkusz.

W Excel VBA istnieje specjalny rodzaj obiektu - kolekcja. Jak sama nazwa wskazuje, kolekcja odnosi się do grupy (lub kolekcji) obiektów programu Excel. Na przykład kolekcja Wydziwianie to obiekt zawierający wszystkie wiersze arkusza.

Dostęp do wszystkich podstawowych obiektów programu Excel można uzyskać (bezpośrednio lub pośrednio) za pośrednictwem obiektu zeszyty ćwiczeń, który jest zbiorem wszystkich otwartych in ten moment książeczki pracy. Każdy skoroszyt zawiera obiekt Pościel to kolekcja zawierająca wszystkie arkusze i arkusze z wykresami w skoroszycie. Każdy przedmiot Arkusz roboczy składa się z kolekcji Wydziwianie- zawiera wszystkie wiersze arkusza i kolekcje kolumny- wszystkie kolumny arkusza i tak dalej.

W poniższej tabeli wymieniono niektóre z najczęściej używanych obiektów programu Excel. Pełna lista Obiekty Excel VBA można znaleźć w witrynie Microsoft Office Developer (w języku angielskim).

Obiekt Opis
Aplikacja Aplikacja Excela.
zeszyty ćwiczeń Zbiór wszystkich aktualnie otwartych skoroszytów w bieżącej aplikacji Excel. Dostęp do konkretnego skoroszytu można uzyskać za pośrednictwem obiektu zeszyty ćwiczeń używając indeksu numerycznego skoroszytu lub jego nazwy, na przykład, Skoroszyty(1) lub Skoroszyty("Książka1").
zeszyt ćwiczeń Obiekt zeszyt ćwiczeń to skoroszyt. Dostęp do niego można uzyskać za pośrednictwem kolekcji zeszyty ćwiczeń używając indeksu numerycznego lub nazwy skoroszytu (patrz wyżej). Aby uzyskać dostęp do aktualnie aktywnego skoroszytu, możesz użyć aktywny skoroszyt.

Od obiektu zeszyt ćwiczeń może uzyskać dostęp do obiektu Pościel, który jest zbiorem wszystkich arkuszy skoroszytu (arkuszy i wykresów) plus obiekt Arkusze robocze, który jest zbiorem wszystkich arkuszy w skoroszycie programu Excel.

Pościel Obiekt Pościel to zbiór wszystkich arkuszy w skoroszycie. Mogą to być arkusze lub wykresy na osobnym arkuszu. Dostęp do pojedynczego arkusza z kolekcji Pościel można uzyskać za pomocą indeksu numerycznego arkusza lub jego nazwy, np. arkusze(1) lub Arkusze("Arkusz1").
Arkusze robocze Obiekt Arkusze robocze to zbiór wszystkich arkuszy w skoroszycie (czyli wszystkie arkusze z wyjątkiem wykresów w osobnym arkuszu). Dostęp do pojedynczego arkusza roboczego z kolekcji Arkusze robocze można pobrać za pomocą indeksu numerycznego arkusza roboczego lub jego nazwy, np. Arkusze (1) lub Arkusze("Arkusz1").
Arkusz roboczy Obiekt Arkusz roboczy to osobny arkusz w skoroszycie programu Excel. Dostęp do niego można uzyskać za pomocą indeksu numerycznego arkusza roboczego lub jego nazwy (patrz wyżej).

Ponadto możesz użyć Aktywny arkusz aby uzyskać dostęp do aktualnie aktywnego arkusza. Od obiektu Arkusz roboczy może uzyskać dostęp do obiektów Wydziwianie oraz kolumny, które są zbiorem obiektów Zasięg, odwołując się do wierszy i kolumn arkusza. Możesz także uzyskać dostęp do pojedynczej komórki lub dowolnego zakresu sąsiednich komórek w arkuszu.

Wydziwianie Obiekt Wydziwianie to zbiór wszystkich wierszy w arkuszu. Obiekt Zasięg, składający się z jednego wiersza arkusza roboczego, można uzyskać dostęp za pomocą tego numeru wiersza, na przykład Wiersze(1).
kolumny Obiekt kolumny to zbiór wszystkich kolumn arkusza. Obiekt Zasięg, składający się z pojedynczej kolumny arkusza, można uzyskać dostęp za pomocą tego numeru kolumny, na przykład kolumny(1).
Zasięg Obiekt Zasięg to dowolna liczba sąsiadujących komórek w arkuszu. Może to być jedna komórka lub wszystkie komórki arkusza.

Za pośrednictwem obiektu można uzyskać dostęp do zakresu składającego się z pojedynczej komórki Arkusz roboczy korzystanie z nieruchomości Komórki, na przykład, Arkusz.Komórki(1,1).

W inny sposób odwołanie do zakresu można zapisać, podając adres komórki początkowej i końcowej. Mogą być pisane z dwukropkiem lub przecinkiem. Na przykład, Worksheet.Range("A1:B10") lub Arkusz.Zakres(„A1”, „B10”) lub Worksheet.Range(Komórki(1,1), Komórki(10,2)).

Zwróć uwagę, czy adres Zasięg druga komórka nie jest określona (na przykład Arkusz.Zakres("A1") lub Arkusz.Zakres(Komórki(1,1)), zostanie wybrany zakres składający się z pojedynczej komórki.

W powyższej tabeli przedstawiono sposób uzyskiwania dostępu do obiektów programu Excel za pośrednictwem obiektów nadrzędnych. Na przykład odwołanie do zakresu komórek można zapisać w następujący sposób:

Skoroszyty("Zeszyt1").Worksheets("Arkusz1").Range("A1:B10")

Przypisanie obiektu do zmiennej

W Excel VBA obiekt można przypisać do zmiennej za pomocą słowa kluczowego ustawić:

Dim DataWb As Workbook Set DataWb = Skoroszyty("Książka1.xlsx")

obiekt aktywny

W programie Excel w dowolnym momencie znajduje się aktywny obiekt zeszyt ćwiczeń to skoroszyt aktualnie otwarty. Podobnie istnieje aktywny obiekt Arkusz roboczy, obiekt aktywny Zasięg i tak dalej.

Odnieś się do aktywnego obiektu zeszyt ćwiczeń lub arkusz w kodzie VBA możesz albo aktywny skoroszyt lub Aktywny arkusz i na aktywnym obiekcie Zasięg- Jak dalej? Wybór.

Jeśli odwołanie do arkusza roboczego jest zapisane w kodzie VBA, bez określenia, do którego skoroszytu należy, program Excel domyślnie odwołuje się do aktywnego skoroszytu. Podobnie, jeśli odwołujesz się do zakresu bez określenia konkretnego skoroszytu lub arkusza, program Excel domyślnie wybierze aktywny arkusz w aktywnym skoroszycie.

Więc odnosząc się do zakresu A1:B10 w aktywnym arkuszu aktywnego skoroszytu możesz po prostu napisać:

Zakres("A1:B10")

Zmiana aktywnego obiektu

Jeśli podczas wykonywania programu wymagane jest uaktywnienie innego skoroszytu, innego arkusza, zakresu itp., musisz użyć metod Aktywuj lub Wybierz lubię to:

Sub ActivateAndSelect() Workbooks("Book2").Activate Worksheets("Sheet2").Select Worksheets("Sheet2").Range("A1:B10").Select Worksheets("Sheet2").Range("A5") .Aktywuj Zakończ Sub

Metody obiektowe, w tym metody użyte przed chwilą Aktywuj lub Wybierz, zostaną omówione bardziej szczegółowo poniżej.

Właściwości obiektu

Każdy obiekt VBA ma ustawione dla niego właściwości. Na przykład obiekt zeszyt ćwiczeń ma właściwości Nazwa(Nazwa), Numer wersji(liczba sejwów), Pościel(arkusze) i wiele innych. Aby uzyskać dostęp do właściwości obiektu, wpisujesz nazwę obiektu, kropkę, a następnie nazwę właściwości. Na przykład nazwa aktywnego skoroszytu można uzyskać w następujący sposób: ActiveWorkbook.Name. Więc przypisać do zmiennej wbName nazwę aktywnego skoroszytu, możesz użyć następującego kodu:

Dim wbName As String wbName = ActiveWorkbook.Name

Wcześniej pokazaliśmy jak obiekt zeszyt ćwiczeń może być użyty do uzyskania dostępu do obiektu Arkusz roboczy za pomocą tego polecenia:

Skoroszyty("Zeszyt1").Worksheets("Arkusz1")

Jest to możliwe, ponieważ kolekcja Arkusze robocze jest własnością obiektu zeszyt ćwiczeń.

Niektóre właściwości obiektów są tylko do odczytu, co oznacza, że ​​użytkownik nie może zmieniać ich wartości. Jednocześnie istnieją właściwości, którym można przypisać różne wartości. Na przykład, aby zmienić nazwę aktywnego arkusza na „ Mój arkusz roboczy„, wystarczy przypisać tę nazwę do nieruchomości Nazwa aktywny arkusz, taki jak ten:

ActiveSheet.Name = "Mój arkusz"

Metody obiektowe

Obiekty VBA mają metody wykonywania określonych akcji. Metody obiektowe są procedurami związanymi z przedmiotami określonego typu. Na przykład obiekt zeszyt ćwiczeń ma metody Aktywuj, blisko, Ratować i wiele innych.

Aby wywołać metodę na obiekcie, musisz zapisać nazwę obiektu, kropkę i nazwę metody. Na przykład, aby zapisać aktywny skoroszyt, możesz użyć następującego wiersza kodu:

ActiveWorkbook.Zapisz

Podobnie jak inne procedury, metody mogą mieć argumenty, które są przekazywane do metody podczas jej wywołania. Na przykład metoda blisko obiekt zeszyt ćwiczeń ma trzy opcjonalne argumenty, które określają, czy skoroszyt powinien zostać zapisany przed zamknięciem itp.

Aby przekazać argumenty do metody, należy po wywołaniu metody zapisać wartości tych argumentów oddzielone przecinkami. Na przykład, jeśli chcesz zapisać aktywny skoroszyt jako plik .csv o nazwie „Book2”, musisz wywołać metodę Zapisz jako obiekt zeszyt ćwiczeń i przekazać argument Nazwa pliku oznaczający książka2 i argument format pliku- oznaczający xlCSV:

ActiveWorkbook.SaveAs "Book2", xlCSV

Aby kod był bardziej czytelny, możesz użyć nazwanych argumentów podczas wywoływania metody. W tym przypadku najpierw zapisywana jest nazwa argumentu, a następnie operator przypisania „ := ”, po którym następuje wartość. Zatem powyższy przykład wywołania metody Zapisz jako obiekt zeszyt ćwiczeń można napisać inaczej:

ActiveWorkbook.SaveAs Nazwa pliku:="Książka2", :=xlCSV

W oknie Przeglądarka obiektów Edytor Visual Basic wyświetla listę wszystkich dostępnych obiektów, ich właściwości i metod. Aby otworzyć tę listę, uruchom Edytor Visual Basic i kliknij F2.

Spójrzmy na kilka przykładów

Przykład 1

Ten fragment kodu VBA może służyć jako ilustracja użycia pętli Dla każdego. W tym przypadku użyjemy go do zademonstrowania referencji do obiektów. Arkusze robocze(który jest domyślnie pobierany z aktywnego skoroszytu) i linki do każdego obiektu Arkusz roboczy osobno. Zauważ, że właściwość służy do wyświetlania nazwy każdego arkusza roboczego. Nazwa obiekt Arkusz roboczy.

"Przewiń wszystkie arkusze w aktywnym skoroszycie jeden po drugim" i wyświetl okno komunikatu z nazwą każdego arkusza Dim wSheet As Worksheet For Each wSheet in Worksheets MsgBox "Found worksheet: " & wSheet.Name Next wSheet

Przykład 2

Ten przykład kodu VBA pokazuje, w jaki sposób można uzyskać dostęp do arkuszy roboczych i zakresów komórek z innych skoroszytów. Ponadto upewnisz się, że jeśli odwołanie do konkretnego obiektu nie jest określone, to domyślnie używane są aktywne obiekty Excela. Ten przykład ilustruje użycie słowa kluczowego ustawić przypisać obiekt do zmiennej.

W poniższym kodzie dla obiektu Zasięg metoda nazywa się WklejSpecjalnie. Ta metoda przekazuje argument pasta oznaczający xlWklejWartości.

„Kopiowanie zakresu komórek z arkusza „Arkusz1” innego skoroszytu (o nazwie Data.xlsx)” i wklejanie tylko wartości do arkusza „Wyniki” bieżącego skoroszytu (o nazwie CurrWb.xlsm) Dim dataWb As Workbook Set dataWb = Workbooks.Open( "C:\Data") "Zauważ, że DataWb jest aktywnym skoroszytem. "Dlatego na obiekcie Arkusze w DataWb wykonywana jest następująca akcja. Arkusze("Arkusz1").Range("A1:B10").Kopiuj "Wkleja wartości skopiowane z zakresu komórek do arkusza "Wyniki" bieżącego skoroszytu. Zauważ, że skoroszyt CurrWb.xlsm nie jest „aktywny”, więc należy się do niego odwoływać.

Przykład 3

Poniższy fragment kodu VBA przedstawia przykład obiektu (kolekcji) kolumny i pokazuje, w jaki sposób jest dostępny z obiektu Arkusz roboczy. Ponadto zobaczysz, że odwołując się do komórki lub zakresu komórek w aktywnym arkuszu, nie musisz odwoływać się do tego arkusza. Znów się spotkamy słowo kluczowe ustawić, z którym obiekt Zasięg przypisane do zmiennej Przełęcz.

Ten kod VBA pokazuje również przykład dostępu do właściwości wartość obiekt Zasięg i zmieniając jego wartość.

„Za pomocą pętli patrzymy na wartości​​w kolumnie A na arkuszu„ Sheet2 ”, wykonujemy z każdym z nich działania arytmetyczne i zapisz wynik "do kolumny A aktywnego arkusza (Arkusz1) Dim i As Integer Dim Col As Zakres Dim dVal As Double "Przypisz zmienną Col do kolumny A arkusza "Arkusz2" Ustaw Col = Arkusze("Arkusz2"). Columns("A") i = 1 "Przeglądaj kolejno wszystkie komórki kolumny Col, aż do wystąpienia "pustej komórki" Do Until IsEmpty(Col.Cells(i)) "Wykonywanie operacji arytmetycznych na wartości bieżącej komórki dVal = Kol.Komórki(i).Wartość * 3 - 1 "Następujące polecenie zapisuje wynik w kolumnie A" aktywnego arkusza. Nie ma potrzeby odwoływania się do nazwy arkusza, ponieważ jest to "aktywny arkusz skoroszytu. Komórki(i, 1).Wartość = dWart i = i + 1 Pętla

Tworzenie arkusza "Products.xls"

Najpierw przyjrzyjmy się, jak możesz wykonywać operacje na arkuszu. Microsoft Excel z Dostęp do programów. W tym celu potrzebujemy pliku Products.xls zawierającego skoroszyt programu Excel z pojedynczym arkuszem „Produkty”, który jest listą produktów z bazy danych demonstracyjnych Northwind. Możesz użyć pliku dostarczonego na płycie CD dołączonej do książki lub stworzyć własny, eksportując do Excel arkusz kalkulacyjny"Produkty" za pomocą polecenia menu Serwis, linki biurowe, analiza w MS Excel(Narzędzia, łącza biurowe, analizuj je za pomocą programu Microsoft Excel) (Patrz sekcja „Szybki eksport danych do innych aplikacji Microsoft Office” Rozdział 3).

Aby przygotować plik Products.xls do dalszych eksperymentów, wykonaj następujące kroki:

  1. Otwórz plik Products.xls, uruchamiając program Microsoft Excel.
  2. Zaznacz komórki od A4 do D12 w arkuszu. Wybierz polecenie menu Wstaw, nazwa, przypisz(Wstaw, Nazwa, Zdefiniuj). W oknie dialogowym Nazewnictwo(Zdefiniuj nazwę) wprowadź w polu tekstowym Nazwa(Nazwy w skoroszycie) nazwa zakresu: workRange (rys. 15.25) i kliknij przycisk OK. Tworzy to nazwany zakres, który będzie używany w późniejszych przykładach.

Ryż. 15.25. Utwórz nazwany zakres w tabeli „Produkty.xls”

  1. Wybierz z menu Usługa(Narzędzia) polecenie dodatki(Dodatki) i odznacz wszystkie pola wyboru na liście Lista dodatków(Dodatki dostępne) Okno dialogowe dodatki(Dodaj wpisy). Usunięcie dodatków skraca czas uruchamiania programu Excel. Aby zamknąć okno dialogowe, kliknij przycisk OK.
  2. Zapisz zmiany, uruchamiając polecenie Plik, Zapisz(Plik, Zapisz) lub Plik, Zapisz jako(Plik, Zapisz jako).
  3. Zamknij program Microsoft Excel.

Hierarchia obiektów Microsoft Excel VBA

Aby programowo pracować z obiektami programu Excel, musisz rozumieć model obiektowy Microsoft Excel. Nie będziemy tutaj szczegółowo opisywać tego modelu, ponieważ jest on dość skomplikowany, przedstawimy tylko jego główne obiekty.

  • Obiekt Application jest instancją samego programu Microsoft Excel. Stosując różne metody do tego obiektu, możesz użyć prawie każdego polecenia menu programu Excel. Obiekt Application ma właściwości ActiveWorkbook i

    ActiveSheet, które wskazują na bieżące obiekty skoroszytu (skoroszytu) i arkusza roboczego (arkusza). Jako wartość argumentu można określić Excel.Application<класс>funkcje CreateObject() i GetObjectO, a także w operatorze Dim objPlMH As New<класс>.

  • Główny obiekt programu Excel - skoroszyt (skoroszyt). Ten obiekt zapewnia dostęp do właściwości i struktury skoroszytu programu Excel. Obiekty skoroszytu to pliki składające się z kilku obiektów utworzonych przez program Microsoft Excel: Arkusz (arkusz) i Wykres (wykres). Obiekty Worksheet i Chart znajdują się w rodzinach Worksheets i Charts.
  • Obiekty Worksheet są podporządkowane obiektowi Workbook i zapewniają dostęp do właściwości i struktury arkuszy w skoroszycie programu Excel. Główny obiekt interakcji aplikacji Microsoft Access 2002 i Microsoft Excel 2002 to dokładnie obiekt Arkusz. Możliwe jest przesyłanie informacji z wierszy i kolumn obiektu Recordset Aplikacje Microsoft Dostęp do komórek obiektu Arkusz programu Microsoft Excel i odwrotnie. Jeśli jako wartość argumentu<класс>funkcja GetObject() lub operator Dim obj Name As New<класс>określ Excel.Sheet, wtedy domyślnie otworzy się pierwszy obiekt z rodziny Worksheets - pierwszy arkusz (ActiveSheet) obiektu Workbook.
  • Obiekty arkusza są podobne do obiektów Arkusz, ale są częścią rodziny Arkusze, która obejmuje zarówno obiekty Arkusz, jak i obiekty Wykres, które reprezentują arkusze wykresów w skoroszycie.
  • Obiekt zakresu - zakres komórek roboczych arkusz excel. Może to być pojedyncza komórka, wiersz, kolumna, prostokątny obszar arkusza lub niepołączony (dowolny zestaw komórek) lub zakres komórek 3D, który zawiera komórki z wielu arkuszy. Możesz uzyskać lub ustawić wartości zakresu komórek, definiując obiekt Range. Takie obiekty jak komórka, wiersz, kolumna po prostu nie istnieją. To właśnie obiekt Range wraz ze swoimi właściwościami i metodami umożliwia pracę zarówno z pojedynczą komórką, jak iz jej zakresem. Możesz użyć nazwy zakresu zawierającego te komórki, aby odwołać się do żądanej grupy komórek. Jeśli w arkuszu nie ma nazwanych zakresów, możesz użyć metody Cells obiektu arkusza, aby ustawić współrzędne komórki lub grupy komórek. Poniżej przedstawiono dwa sposoby zmiany wartości komórki A1:
ActiveSheet.Range("Al").Value = 7 ActiveSheet.Cells(1,1).Value = 7

Microsoft Excel udostępnia również wiele innych obiektów do wykorzystania jako obiekty aplikacji serwerowych, ale typy opisane powyżej są najczęściej używane w technologii automatyzacji z przy użyciu programu Access VBA.

Otwieranie i praca z istniejącym arkuszem Excel

Przed rozpoczęciem pracy z automatem Obiekty Microsoft Excel, ustaw łącze do biblioteki obiektów Microsoft Excel. Dla tego:

  1. Uruchom program Access i, jeśli to konieczne, otwórz bazę danych Northwind. Wywołaj edytor VBA, otwierając dowolny moduł.
  2. Wybierz polecenie menu w oknie edytora VBA Serwis, Linki(Narzędzia, .Referencje), aby otworzyć okno dialogowe Bibliografia(Spinki do mankietów).
  3. Zaznacz pole obok elementu Biblioteka obiektów Microsoft Excel 10.0(rys. 15.26), a następnie naciśnij przycisk OK, zamknąć okno Bibliografia.

Ryż. 15.26.

Polecenia automatyzacji można łatwo przeglądać za pomocą okna debugowania Natychmiastowy. Dlatego wyświetl to okno, jeśli nie jest wyświetlane. Aby to zrobić, po prostu kliknij odpowiedni przycisk na pasku narzędzi lub kombinację klawiszy +.

Aby programowo otworzyć arkusz roboczy „Produkty”:

  1. Zamknij program Excel, jeśli jest uruchomiony.
  2. Tworzyć nowy moduł przez wykonanie polecenia menu Wstaw, moduł(Wstaw, Moduł).
  3. Dodaj następujące deklaracje zmiennych do sekcji deklaracji:
Prywatny xlaProd As Excel.Application Prywatny xlwProd As Excel.Skoroszyt Prywatny xlsProd As Excel.Worksheet
  1. Wprowadź następującą instrukcję w oknie debugowania (rysunek 15.27):
Ustaw xlwProd = GetObject(CurDir & "\Products.xls","Excel.Sheet")

Kiedy następnie naciśniesz klawisz Microsoft Excel uruchamia się w trybie /automatyki. Funkcja CurDir zwraca w pełni kwalifikowaną nazwę bieżącego folderu. Jeśli plik Products.xls został zapisany w innym miejscu, zmień ścieżkę do tego pliku w poprzedniej instrukcji. W zależności od szybkości komputera uruchomienie programu Excel może zająć trochę czasu. Ładowanie aplikacji Excel zakończone, gdy pojawi się pasek stanu w oknie debugowania Wydajność(Running) znika i pojawia się napis Ready (Ready). Spowoduje to utworzenie instancji klasy Application Microsoft Excel i ustawienie zmiennej xlwProd na odwołanie do obiektu Workbook. Należy zauważyć, że funkcja Getobject() otwiera ukryte wystąpienie aplikacji Excel, ikona programu Excel nie jest wyświetlana na pasku zadań i nie można uzyskać interaktywnego dostępu do skoroszytu programu Excel.

Komentarz

W podany operator Argument Excela. Arkusz jest opcjonalny. Jeśli nie zostanie określony, to typ tworzonego obiektu zostanie określony automatycznie przez rozszerzenie pliku podanego w pierwszym argumencie.

Ryż. 15.27.

  1. Aby upewnić się, że skoroszyt jest otwarty i że możemy uzyskać do niego dostęp, wprowadź następujące polecenie w oknie debugowania?xlwProd.Name

Właściwość Name utworzonego obiektu skoroszytu zawiera nazwę plik Excel: Pozycja-pbi.xls (rys. 15.28).

Ryż. 15.28. Polecenia umożliwiające odczytanie i ustawienie wartości poszczególnych komórek w arkuszu „Produkty”

  1. Plik Products.xls zawiera tylko jeden obiekt Worksheet, więc arkusz Products jest aktywnym arkuszem, obiektem ActiveSheet. Aby to sprawdzić, wpisz polecenie w oknie debugowania:
?xlwProd. ActiveSheet.Name

Właściwość Name tego obiektu zawiera nazwę arkusza roboczego: Produkty.

  1. Teraz spróbuj odwołać się do pierwszej komórki arkusza roboczego. Wprowadź?xlwProd.ActiveSheet.Celled, 1). Po krótkiej przerwie pojawi się oczekiwany wynik - wiersz „Kod produktu”. To jest nagłówek pierwszej kolumny tabeli.
  2. Metoda Cells umożliwia dostęp do dowolnej komórki w arkuszu. Wprowadź?xlwProd. Aktywny arkusz. Komórki (R, C), gdzie R to numer wiersza, a C to numer kolumny określonej komórki, tj. jej współrzędne (ryc. 15.28).
  3. Możesz zmienić zawartość komórki, wprowadzając wyrażenie takie jak: xlwProd.ActiveSheet.Cells(2,2).Value = "(!LANG:brązowy ryż". Подобно тому как многие объекты Access при введении имени объекта возвращают его значение, метод Cells не требует явного указания свойства Value по умолчанию. Чтобы убедиться в том, что содержимое ячейки изменилось, введите?xlwProd.ActiveSheet.Cells (3,2), не дописывая выражения.Value.!}

Możesz również użyć właściwości Formuła, aby ustawić wartość komórki. Zaletą korzystania z właściwości Formuła jest to, że można jej używać do wprowadzania formuł przy użyciu natywnej składni programu Microsoft Excel, tj. jako odwołań do komórek, takich jak „=A2+C6”.

Korzystanie z nazwanych zakresów komórek

Jeśli utworzyłeś nazwany zakres komórek w arkuszu programu Excel, możesz uzyskać wartości komórek zawartych w tym zakresie, odwołując się do właściwości Range obiektu Worksheet. Najpierw zobaczmy, jakie nazwane zakresy znajdują się w otwartym przez nas obiekcie. Wprowadź polecenie w oknie debugowania (ryc. 15.29)

XlwProd.Names(1).Name

Kolekcja Names reprezentuje wszystkie nazwy zdefiniowane w skoroszycie. W tym przypadku pierwszy element tej rodziny zawiera nazwę zakresu: WorkRange.

Możesz zobaczyć nie tylko nazwę, ale także to, co reprezentuje ten zakres. Wpisz polecenie

XlwProd.Names(1).Value Wynik będzie następujący: =Produkty!$A$4:$D$12,

tj. prostokątny obszar A4-D12 w arkuszu „Produkty”.

Na ryc. 15.29 pokazuje wyrażenia do sterowania obiektem Range.

Ryż. 15.29.

Niech zmienna xlsProd odwołuje się do arkusza „Produkty”. W tym celu wpisz polecenie:

Ustaw xlsProd = xlwProd.ActiveSheet.

Możesz użyć następującej instrukcji, aby określić konkretną komórkę w nazwanym obiekcie Range:

XlsProd.Range("Zakres roboczy").Cells(1,1)

Powoduje to użycie właściwości Range obiektu Worksheet w celu uzyskania dostępu do nazwanego zakresu, a następnie właściwości Cells obiektu Range w celu określenia określonej komórki w zakresie. Pierwsza liczba wskazuje wiersz, a druga kolumnę.

Aby odwołać się do obiektu, który jest o jeden poziom wyżej w hierarchii obiektów modelu, można użyć właściwości Parent. Na ryc. Rysunek 15.29 pokazuje, jak uzyskać dostęp do skoroszytu programu Excel zawierającego bieżący arkusz i jak ustawić zmienną obiektu xlaProd tak, aby odnosiła się do obiektu aplikacji Microsoft Excel:

Ustaw xlwWorkbook = xlsWorksheet.Parent.

Zamykanie obiektów zeszyt ćwiczeń oraz Aplikacja

Nie można zamknąć obiektu Microsoft Worksheet. Zamknąć Obiekt Excel Workbook może używać metody Close, a do wyjścia z aplikacji można użyć metody Quit. Następujące oświadczenia zamknij obiekt Workbook, a następnie zamknij aplikację serwera automatyzacji, zwalniając zasoby systemowe:

XlwProd.Close xlaProd.Quit Set xlsProd = Nic Ustaw xlwProd = Nic Ustaw xlaProd = Nic

Jeśli programowo wprowadziłeś zmiany w arkuszu, po zamknięciu obiektu Workbook zostaniesz zapytany, czy chcesz zapisać zmiany. Jeśli nie chcesz, aby użytkownikowi zadano to pytanie, wprowadź argument False dla metody Close. Aby zapewnić zwolnienie wszystkich zasobów, należy zwolnić wszystkie używane zmienne obiektów.

Komentarz

Po ustawieniu zmiennej wskazującej obiekt Application na Nothing, odpowiednia aplikacja nie jest zamykana, chociaż pamięć zajmowana przez zmienną jest zwalniana. Dlatego konieczne jest zamknięcie aplikacji metodą Quit przed zwolnieniem odpowiedniej zmiennej obiektu.

Tworzenie arkusza Excel z kodem automatyzacji

Te same czynności, które występują po naciśnięciu przycisku Analiza w MS Excel, można to zrobić za pomocą kodu automatyzacji VBA. Zaletą tej metody jest możliwość formatowania tworzonego obiektu specjalnie na potrzeby konkretnej aplikacji. Rozważmy funkcję CreateCustomSheet(), która tworzy nowy obiekt Worksheet i wypełnia go danymi z tabeli Products w bazie danych programu Microsoft Access:

Function CreateCustomSheet() As Integer "Utwórz arkusz MS Excel z tabeli "Produkty" "Deklaracja zmiennych lokalnych" (Zmienne obiektowe są definiowane na poziomie modułu) Dim saeBorey As Database "Bieżąca baza danych Dim rstProd As Recordset "Obiekt rekordu Dim intRow As Integer " Row Count Dim intCol As Integer "Column Count "Otwieranie tabeli w bieżącej bazie danych Set dbNorthwind = CurrentDb() Set rstProd = dbBopeu.OpenRecordset("Produkty", dbdpenTable) DoCmd.Hourglass True "Tworzenie nowego obiektu skoroszytu programu Excel Set xlwProd = CreateObject( "Excel.Sheet") ""Tworzenie obiektu Application w celu zastosowania metody Quit Set xlaProd = xlwProd.Parent intRow = 1 intCol = 1 rstProd.MoveFirst "Przejdź do pierwszego rekordu Do Until rstProd.EOF "One -record pętla For intCol = 1 Then rstProd.Count "Pętla z krokiem jednego pola If (Not IsNull(rstProd(intCol -1))) Then xlwProd.ActiveSheet.Cells(intRow, intCol).Value = CStr(rstProd(intCol -) I)) End If Next intCol rstProd.MoveNext intRow = intRow + 1L oop For intCol = 1 To xlwProd.ActiveSheet.Columns.Count "Sformatuj każdą kolumnę arkusza xlwProd.ActiveSheet.Columns(intCol).Font.Size = 8 xlsCust.ActiveSheet.Columns(intCol).AutoFit Jeśli intCol = 8 Then" -aligned numeryczne i "mieszane kody pocztowe xlwProd.ActiveSheet.Columns(intCol).HorizontalAlignment = _xlLeft End If Next intCol DoCmd.Hourglass False xlwProd.SaveAs(CurDir & "\Products_2.xls") xlaProd.Quit End Function

Typ danych zwracany przez wyrażenie rstProd(intCol-l) musi być konkretnie zmieniony z wariantu na ciąg za pomocą funkcji cstr(), w przeciwnym razie Microsoft Excel wyświetli #N/A# w odpowiedniej kolumnie zamiast żądanej wartości. Jeśli obiekt Recordset zawiera pola, których typ nie jest typu Text, użyj odpowiedniej funkcji CType(), aby określić typ danych w kolumnie.

Stała xlLeft przypisana jako wartość właściwości HorizontalAlignment ósmej kolumny jest wbudowaną stałą programu Excel, która jest definiowana po ustanowieniu odwołania do biblioteki obiektów programu Microsoft Excel 10.0. Wybór elementu Stałe(Stałe) na liście Moduły/klasy okno przeglądarki obiektów, gdy podłączona jest biblioteka Excel, wyświetla stałe xlConst. Na ryc. 15.30 pokazuje wartość liczbową stałej xlLeft, która jest jedną ze stałych służących do ustawiania wartości właściwości HorizontalAlignment.

Ryż. 15.30. Wartości wbudowanych stałych xlConst w oknie Dostęp do przeglądarki obiektów

Wpis operatora? CreateCustomSheet() w oknie debugowania uruchamia funkcję, którą omówiliśmy powyżej. Na ryc. 15.31 pokazuje skoroszyt „ToBapy_2.xls” z arkuszem utworzonym za pomocą funkcji CreateCustomSheet() i otwartym w programie Microsoft Excel.

Ryż. 15.31. Część arkusza programu Excel utworzonego z tabeli „Produkty”

Praktyka pokazuje, że aplikacje Microsoft Office (Excel, Word, Power Point itp.) należą do najczęściej używanych aplikacji Windows. Każdy z nich jest serwerem COM, a zatem każdy zawarty w nim obiekt może być używany przez program jako własny.

Istnieją dwa sposoby uzyskania dostępu do metod i właściwości obiektu COM: przez odwołanie do jego biblioteki typów (wczesne wiązanie) i według nazwy (późne wiązanie). W przypadku Object Pascal preferowane jest wczesne wiązanie, ponieważ w tym przypadku kompilator może sprawdzić poprawność dostępu do właściwości i metod obiektów zewnętrznych, a tworzony przez niego kod jest zwykle wykonywany szybciej. W tym samym czasie język podstawowy Uzyskiwanie dostępu do serwerów Microsoft Office — Visual Basic for Application (VBA) nie obsługuje wskaźników i dlatego nie może korzystać z interfejsów. Zwłaszcza dla tego rodzaju języków (oprócz VBA nie działają też wskaźniki) Języki JavaScript, SmallTalk i kilka innych), technologia COM wprowadziła dispinterfaces, które umożliwiają dostęp do metod i właściwości według nazwy, a nie adresu. Podczas instalacji pakietu Office możesz zainstalować pomoc VBA, która szczegółowo opisuje interfejsy Serwery Microsoft Office, wskazując przeznaczenie metod i właściwości, a także parametry dostępu do nich. W rzeczywistości są to jedyne dokumenty dostępne dla programisty, na których powinien polegać podczas programowania dostępu do zaawansowanych funkcji serwerów Microsoft Office. Zwróć uwagę, że standardowa instalacja pakietu Microsoft Office nie instaluje pomocy VBA. Jeśli w plikach programu | Microsoft Office | Office nie znajdziesz vbaxl8.hlp (pomoc programu Excel), vbawrd8.hlp (pomoc programu Word) itp., musisz je dodać za pomocą menu Start | Ustawienie | Panel sterowania | Instalacja i usuwanie programów.

Wersja 5 Delphi zawiera komponenty na stronie Serwery, które umożliwiają dostęp do obiektów COM tych serwerów przy użyciu bibliotek typów, ale te komponenty są słabo udokumentowane. Co więcej, same biblioteki są już zaimplementowane w pakiecie dclaxserver50, więc nigdy nie udało mi się uzyskać ich tekstów przy użyciu tej wersji Delphi. We wszystkich przypadkach studiowanie obszernych tekstów bibliotek (na przykład plik Excel_TLB.pas zawiera ponad 20 tysięcy wierszy) niewiele daje nawet doświadczonemu programiście.

Ta sekcja zawiera krótki opis głównych obiektów dwóch najpopularniejszych serwerów, Excela i Worda, a także przykłady użycia programu Excel w stylu VBA (według nazwy) oraz wykorzystania komponentów strony Serwery. Ponieważ język VBA został znacznie rozszerzony specjalnie dla wersji MS Office 97, materiał ten nie może być wykorzystany do pracy z wcześniejszymi wersjami pakietu.

Podstawowe obiekty programu Excel i Word Server

Terminologia VBA wykorzystuje pojęcia „przedmiot” i „kolekcja”. Obiekt to normalny obiekt interfejsu COM, który ma właściwości, metody i zdarzenia. Kolekcja to grupa obiektów tego samego typu. Na przykład główny obiekt serwera Excel — Aplikacja definiuje główne właściwości i metody serwera, a kolekcja Arkusze reprezentuje zestaw stron tabeli w bieżącym skoroszycie i tak dalej. Przedstawione poniżej hierarchie obiektów i kolekcji pochodzą z plików vbaXXX.hlp. W przeciwieństwie do obiektów VCL są one budowane nie zgodnie z zasadą dziedziczenia, ale zgodnie z podporządkowaniem funkcjonalnym.

Obiekty Excela

Excel Server to potężny procesor arkuszy kalkulacyjnych, który implementuje umieszczanie i przetwarzanie różnego rodzaju danych (zarówno numerycznych, jak i tekstowych), w tym budowę wykresów i wykresów na ich podstawie. Podczas pracy z Excelem tworzony jest tak zwany skoroszyt (plik danych) z jednym lub kilkoma arkuszami. Wszystkie arkusze jednego skoroszytu można ze sobą łączyć, co pozwala organizować wspólne obliczenia na umieszczonych na nich danych.

Teraz małe wyjaśnienie. Zmienne Arkusz i Zakres zostały wprowadzone tylko w celu skrócenia tekstu programu: wszędzie zamiast Arkusza można na przykład pisać Excel.Skoroszyty.Arkusze. Delphi 4 jest dostarczany z plikami XLCONST.PAS i XLCONST.DCU, które definiują stałe xlXXX używane w dokumentacji vbaxl8.hlp. Wersja 5 nie dostarcza tych plików, więc używam ich liczbowych odpowiedników. Szerokości marginesów drukowanego dokumentu Excel są określone w jednostkach wewnętrznych odpowiadających około 3,5 mm, więc wartości określone w instrukcjach Sheet.PageSetup.XXXMargin ustawią lewy, dolny i prawy margines na 1,1 cm, a górny na 1,4 cm Szerokość kolumny jest określona w znakach tekstu, który mieści się w kolumnie bez obcinania.

Zmienna Excel definiuje pole klasy TForm1. Podczas tworzenia klasy automatycznie umieszczana jest w niej wartość VarEmpty. Po zakończeniu pracy z Excelem użytkownik może go zamknąć. Ale w moim programie Excel nie był wizualizowany, jego praca odbywała się „za kulisami”, a utworzona tabela była zapisywana do pliku określonego przez użytkownika za pomocą operatora Excel.Workbooks.SaveAs(FileName).

Po tym Excel został zamknięty. Ponieważ w naszym przypadku Excel pokazuje swoje okno, a użytkownik może go nie zamknąć, warto napisać procedurę obsługi zdarzeń OnDestroy w następującym formularzu:

Procedura TForm1.FormDestroy(Sender: TObject); rozpocząć, jeśli nie VarIsEmpty(Excel), to Excel.Zakończ koniec;

Uruchamiając przykład, pamiętaj, że tworzenie cennika za pomocą Excela to dość długi proces. Na moim komputerze (400 MHz, 64 MB) zajęło to około minuty (np. podobny cennik tworzony jest za pomocą Quick Report w mniej niż 2 sekundy). Na końcu modułu obsługi całkowity czas pracy jest umieszczony na etykiecie lb.

wczesne wiązanie

Poniższy przykład jest funkcjonalnie podobny do poprzedniego. Tworzy również cennik za pomocą Excela, ale tym razem korzysta z dostępu bezpośrednio przez interfejsy serwera. Czeka na Ciebie „niespodzianka”: czas wykonania drugiego przykładu jest dłuższy o 40 sekund! Nie mogłem znaleźć sensownego wytłumaczenia tego zjawiska, ale oba przykłady znajdują się na dołączonym dysku, więc w każdej chwili możesz się o tym przekonać.

Ponieważ kształt drugiego przykładu jest dokładnie taki sam jak kształt pierwszego, nie będę wyjaśniał, co należy zrobić, aby go stworzyć. Dodaj do formularza tylko składnik TExcelApplication i ustaw jego właściwości: Name=Excel, AutoConnect=True, AutoQuit=True. Jeśli używasz formularza z poprzedniego przykładu jako szablonu, nie wstawiaj pola Excel do klasy TForm1. Procedura obsługi Button1Click powinna wyglądać tak (patrz Listing 2).

Jak widać, jest bardzo podobny do obsługi z poprzedniego przykładu. Więc skupię się na różnicach.

Podczas uzyskiwania dostępu do właściwości SheetsInNewWorkbook, podobnie jak w wielu innych przypadkach uzyskiwania dostępu do właściwości i metod interfejsu, należy określić identyfikator języka lokalizacji (lcid). Wartość 0 koduje język domyślny. Ten sam identyfikator jest przekazywany jako drugi parametr wywołania metody Excel.Workbooks.Add. Pierwszym parametrem musi być nazwa pliku (w formacie WideString), jeśli skoroszyt został już utworzony, lub parametr „pusty” EmptyParam, jeśli skoroszyt jest tworzony po raz pierwszy.

Wszystkie moje próby pracy z obiektami Range nie powiodły się. Aby nie osądzać mnie zbytnio, umieściłem bibliotekę typów Excel_TLB.pas w przykładowym katalogu - przejrzyj ją w wolnym czasie i spróbuj znaleźć odpowiednie rozwiązanie również na zmianę szerokości kolumn i marginesów arkusza co do kolorowania zakresu, wyrównania tekstu itp.

Istnieją pewne niuanse w odniesieniu do komórek. Po pierwsze, są one własnością obiektu Application, a nie Arkusza. Po drugie, dostęp do określonego elementu kolekcji Cells (jak również każdej innej kolekcji) jest możliwy tylko poprzez jego właściwość Item.

Podsumowując, jeszcze raz pragnę zwrócić Państwa uwagę na fakt, że pod względem czasu realizacji, późne oprawienie przynajmniej nie traci na wczesnym oprawie – przynajmniej dla rozważanych przykładów. Biorąc pod uwagę, że jedynymi dokumentami na serwerach MS Office dostępnymi dla zdecydowanej większości programistów są pliki pomocy vbaXXX.hlp, możemy wnioskować, że korzystanie z wariantów (późne wiązanie) jest prostsze, wygodniejsze i co najważniejsze znacznie bardziej przejrzyste niż praca bezpośrednio z interfejsy (wczesne wiązanie) .

Prasa komputerowa 6 "2001

Podobał Ci się artykuł? Podziel się z przyjaciółmi!
Czy ten artykuł był pomocny?
TAk
Nie
Dziekuję za odpowiedź!
Coś poszło nie tak i Twój głos nie został policzony.
Dziękuję Ci. Twoja wiadomość została wysłana
Znalazłeś błąd w tekście?
Wybierz, kliknij Ctrl+Enter a my to naprawimy!