You are on page 1of 6

Visual Basic w programie Excel

Ćwiczenie nr 3
Obiekty, właściwości, metody. Obiekty standardowe, kolekcje
standardowe. Dostęp do komórek arkusza. Operacje na standardowych
bibliotekach.
CEL ĆWICZENIA.
Celem ćwiczenia jest poznanie możliwości jakie daje posługiwanie się obiektami
w programie Visual Basic.

ZAKRES ĆWICZENIA.

• Obiekty występujące w programie Visual Basic


• Hierarchia obiektów
• Możliwości zmiany właściwości obiektów
• Wykorzystanie narzędzia Przeglądanie obiektów

OBIEKTY - WŁAŚCIWOŚCI I METODY


Korzystając z języka Visual Basic dla aplikacji można tworzyć procedury kontrolujące
niemalże każdy aspekt posługiwania się nie tylko poszczególnymi funkcjami programu
Microsoft Excel, lecz również innych aplikacji. Podstawą kontroli tego języka jest jego zdolność
do zarządzania różnymi obiektami. Obiekt jest przedmiotem kontrolowanym przez Visual Basic.
Excel zawiera ogółem 128 obiektów, które można kontrolować w rozmaity sposób. Obiektem
jest na przykład skoroszyt, arkusz, zespół komórek w arkuszu, czy też wykres. Obiekty są
zorganizowane w hierarchii. Niektóre obiekty zawierają w sobie inne obiekty. Na przykład sam
Excel stanowi obiekt zwany aplikacją. Obiekt aplikacji zawiera w sobie inne obiekty, takie jak
skoroszyty czy paski narzędzi. Skoroszyt zaś zawiera inne obiekty, takie jak arkusze czy
wykresy.
Zbiór podobnych obiektów określa się nazwą kolekcji. Na przykład kolekcja arkuszy
obejmuje wszystkie arkusze w danym skoroszycie, a kolekcja pasków narzędzi składa się
z różnorodnych przycisków. Kolekcje są również obiektami. Najczęściej używanymi kolekcjami
obiektów Excela są: kolekcja Sheets (zawierająca arkusze, moduły, wykresy i kartki dialogu),
kolekcja Workbooks, kolekcja Worksheets oraz kolekcja Windows. Każdy obiekt ma
charakterystyczne cechy, które czynią ten obiekt użytecznym. Te specjalne cechy obiektu noszą
nazwę właściwości. Na przykład obiekt Range ma następujące właściwości: Column, Font,
Formula, Name, Row, Style, Value, Worktsheet. Właściwości obiektów można ustawiać lub
przekazywać. Właściwości kontrolują wygląd i pozycję obiektu. Najtrudniejszym do
zrozumienia aspektem Visual Basica, dotyczącym obiektów i właściwości jest to, że niektóre
właściwości mogą być również obiektami. Weźmy pod uwagę na przykład obiekt Range.
Chociaż ma on właściwość Font, sam Font jest również obiektem, który ma takie właściwości:
Name, Size, Italic, Bold itp.
Oprócz właściwości obiekty posiadają również metody. Metody są to czynności, które
dany obiekt potrafi zrobić lub wykonać. Każdy obiekt może posługiwać się różnymi metodami.
Na przykład obiekt Range ma specjalne metody służące do wymazywania zawartości komórki
(ClearContents), wymazywania tylko formatu komórki (ClearFormats), wymazywania
wszystkiego w komórce (Clear). Inne metody tego obiektu pozwalają kopiować, przesuwać,
wybierać i sortować komórki. Do efektywnej pracy w programie Visual Basic niezbędna jest
znajomość hierarchii obiektów. Przypomina ona swoim układem budowę drzewa katalogowego.
Jej budowa została przedstawiona poniżej.

Rys. 1 Hierarchia obiektów Microsoft Excel.

Rys. 2. Hierarchia obiektów WorkSheet.

-2-
Rys. 3. Hierarchia obiektów DialogSheet.

Rys. 4. Hierarchia obiektów Chart.

Aby dotrzeć do właściwości i metod danego obiektu w Visual Basicu należy podać obiekty
znajdujące się na wyższych szczeblach w hierarchii (w podobny sposób określa się położenie
pliku w MS-DOS, z tym że znak DOS-a „/” jest tu zastąpiony przez „.”).

-3-
UŻYCIE OBIEKTÓW I KOLEKCJI STANDARDOWYCH.

Przy odwoływaniu się do właściwości danego obiektu używa się składni:


Object.Property
gdzie Object jest nazwą obiektu, a Property jest nazwą właściwości .Na przykład można
odwołać się do wartości wpisanej w komórce A4 w następujący sposób:
Range("A4").Value
Należy zwrócić uwagę na kropkę pomiędzy nazwą obiektu i nazwą właściwości. Kiedy chcemy
się odwołać do właściwości pewnego obiektu, a obiekt ten jest zawarty wewnątrz kilku innych
obiektów, musimy wymienić wszystkie obiekty po kolei, oddzielając ich nazwy również
kropkami np. ActiveSheet.Ovals(1).Border.Weight. Ponieważ właściwości można zmieniać i
wyświetlać, zmienia się również zapis syntaktyczny poszczególnych instrukcji.. Aby zmienić
wartość danej właściwości na inną, używa się następującej składni:
Object.Property=value
gdzie Object jest nazwą obiektu, Property jest nazwą właściwości, natomiast value jest
wartością, która ma zostać użyta. Value może być
∗ wartością numeryczną
Worksheets("Arkusz1 ").Range("A4").Value = 25
∗ tekstem, wpisanym w cudzysłowie
ActiveCell.Font.Name = "Bookman EE"
∗ wartością logiczną (True/False)
ActiveCell.Font.Bold = True
Aby wyświetlić bieżącą wartość (ustawienie) danej właściwości, należy zapisać to w sposób
następujący: variable=Object. Property, gdzie variable jest nazwą zmiennej. W poniższym
przykładzie wartość znajdująca się w komórce A4 jest przechowywana w zmiennej o nazwie
cellValue:
cellValue = Worksheets("Arkusz1").Range("A4").Value
Odwoływanie się do metody zależy od tego, czy zawiera ona argumenty. Jeśli metoda nie ma
argumentów, zapis syntaktyczny metody jest podobny do zapisu syntaktycznego właściwości:
Object.Method
Na przykład metoda Add, która dodaje nowy skoroszyt, wygląda następująco .Workbooks.Add
W poniższym przykładzie metoda ClearFormats wymazuje format przypisany komórce A4
w arkuszu Arkusz1:
Worksheets("Arkusz1").Range("A4").ClearFormats
Jeśli metoda wymaga argumentów, składnia jest następująca:
Object.Method(argumentl, argument2, ..., argumentN)
Na przykład popularna metoda Offset, wyświetlająca komórkę o położeniu wyznaczonym
względem bieżącej komórki, wymaga podania dwóch argumentów: indeksu wiersza (rowOffset)
oraz indeksu kolumny (columnOffset):
ActiveCell.Offset(3,2)
W powyższym przykładzie zakładając, że aktywną komórką jest komórka A1, Offset(3, 2)
oznacza komórkę znajdującą się trzy wiersze w dół i dwie kolumny w praw o od komórki A1,
czyli komórki C4. Ponieważ zapisane w ten sposób argumenty są trudne do zrozumienia,
w praktyce programowania często poprzedza się wartości argumentów ich nazwami:
ActiveCell.Offset(rowOffset:=3, columnOffset:=2)
Użycie nazw argumentów zwalnia z obowiązku wyszczególniania ich po kolei. Nazwanym
argumentom przypisuje się wartości za pomocą operatora złożonego z dwukropka i znaku
równości ( := ).

-4-
UŻYCIE OKNA PRZEGLĄDANIE OBIEKTÓW (OBJECT BROWSER)

Poruszanie się po skomplikowanym zespole elementów Visual Basica jest ułatwione


dzięki narzędziu noszącemu nazwę Przeglądanie obiektów. Narzędzie to jest dostępne tylko
wówczas, gdy na ekranie jest aktywna kartka modułu. Po otwarciu kartki modułu można
uruchomić Przeglądanie obiektów za pomocą klawisza F2 lub przez wybranie z menu Widok
polecenia Przeglądanie obiektów. Po wybraniu Excela zostaje przedstawione okno dialogowe
widoczne na rysunku 5.

Rys. 5. Okno dialogowe Przeglądanie obiektów.

U góry okna znajduje się rozwijana lista wymieniająca nazwy wszystkich otwartych bibliotek
i skoroszytów. Biblioteka o nazwie Excel zawiera nazwy obiektów występujących tylko
w Excelu. Po wybraniu tej biblioteki, po lewej stronie okna będą wyświetlone nazwy obiektów
i stałych, po prawej stronie będą przedstawione nazwy właściwości i metod, odpowiadające
obiektowi wybranemu po lewej stronie. Możliwe jest tutaj także uzyskanie opisu sposobu użycia
każdego z wybranych obiektów. U dołu okna znajduje się przycisk ze znakiem zapytania, który
otwiera odpowiednie okno pomocy dotyczące wybranego obiektu. W odróżnieniu od biblioteki
Excel, biblioteka VBA wymienia nazwy obiektów występujących we wszystkich wersjach tego
języka.

PRZEGLĄDANIE OBIEKTÓW (OBJECT BROWSER) W LOKALIZACJI


PROCEDUR
Oprócz odszukiwania nazw obiektów i identyfikacji właściwych im właściwości i metod,
Przeglądanie obiektów jest znakomitym narzędziem służącym do odszukiwania procedur
wpisanych w różnych skoroszytach. Aby szybko dowiedzieć się, jakie procedury zostały
wpisane do tego momentu w skoroszycie osobistym należy:
1. uruchomić okno Przeglądanie obiektów i wybrać z rozwijanej listy bibliotek nazwę pliku
Personal.xls (rysunek 6).

-5-
Rys. 6. Przeglądanie okien w lokalizacji procedur.

Excel przedstawia po lewej stronie okna Przeglądanie obiektów nazwy modułów znajdujących
się w wybranym skoroszycie. Po prawej stronie tego okna znajdują się nazwy procedur
wpisanych w zaznaczonym po lewej stronie okna k modułu,
2. wybrać nazwę Moduł1 i zaznaczyć nazwę procedury Makro1;
3. kliknąć przycisk Pokaż;
4. nacisnąć klawisz F2 i kliknąć przycisk Opcje;
Excel wyświetla to samo okno dialogowe, które dostępne jest z menu po wybraniu polecenia
Narzędzia→Makro→Opcje;
5. kliknąć przycisk Anuluj, a następnie Zamknij.

Zadanie 1.
1. Utwórz ramkę tekstową znajdującą się na środku arkusza. Następnie napisz program, który
będzie ją przesuwał do górnego lewego rogu arkusza, obramowywał ją i ustalał optymalne
rozmiary zależne od znajdującego się w niej tekstu.
Wykorzystaj obiekt TextBoxes.

2. Przepisz poniższą tabelkę. Napisz makro tworzące na jej podstawie wykres liniowy.
A. M. G. R. J. U. E. I.
1990 1 1.5 2 -1
1991 2 3 4 -2
1992 3 4.5 6 -3
1993 4 6 8 -4
1994 5 7.5 10 -5

Posłuż się metodami: Range, Select, Add, Chart i Set.

3. Utwórz tabelę dwukolumnową. Komórki pierwszego wiersza połącz ze sobą. Zakładając, że


okładka na kasetę audio ma wymiary 12*70*110mm napisz program tworzący na podstawie
tej tabeli okładkę na kasetę audio.

-6-

You might also like