POWRÓT

SEMESTR VI

Praca w edytorze Visual Basic Editor VBE


Spis treści rozdziału - tutaj kliknij

Okna i paski Edytora VBA
Sposoby wprowadzania kodu języka VBA
Kopiowanie i zastosowanie rejestratora makr
Dostosowanie środowiska edytora Visual Basic

Źródła - Excel 2013 Pl, Programowanie VBA - John Walkenbach, VBA dla Excela 2010 Pl - Witold Wrotek, Excel 2013 Pl, programowanie w VBA dla Bystrzaków.


 

Okna i paski Edytora VBA

   

 

     Pracując z programem Excel, istnieje możliwość przełączenia się do edytora VBE. Można tego dokonać na dwa sposoby;

  • naciśnij kombinację klawiszy Alt+F11,
  • przejdź na kartę DEWELOPER i naciśnij przycisk Visual Basic znajdujący się w grupie opcji Kod.

Edytor VBE składa się z kilku elementów, z których najważniejszymi są paski i okna;

  • pasek menu edytora VBE - działa jak każdy inny pasek tego typu. Umieszczone są na nim polecenia obsługujące różnorodne składniki VBE.
  • pasek narzędzi - umieszczony jest domyślnie pod paskiem menu. Paski narzedzi można dostosowywać, przenosząc je, wybierając te, które mają być widoczne.

Okna

  • Okno Project - w oknie wyświetlana jest struktura zawierająca wszystkie aktualne otwarte skoroszyty Excela (również te ukryte oraz dodatki). Podwójne kliknięcie w taki skoroszyt spowoduje jego wyświetlenia lub aktywację. Jeżeli okno nie jest widoczne, należy użyć kombinacji klawiszy Ctrl + R lub wybrać z menu View/Projekt Exlorer.
  • Okno Code - w oknie jest wyświetlany kod VBA. Każdy obiekt w projekcie ma skojarzone ze sobą okno Code.
  • Okno Immediale - jest bardzo użyteczne w przypadku bezpośredniego wykonywania i testowania poleceń języka VBA oraz do usuwania błędów z kodu źródłowego. Jeżeli okno nie jest widoczne, możemy je otworzyć kombinacją klawiszy Ctrl + G.

Rys. 1 Okno edytora VBE


Okno projekt

     Okno Project (Eksplorator projektów) wyświetla hierarchiczny spis wszystkich elementów projektu, tj. skoroszyty i służy do poruszania się pomiędzy elementami projektu. Na rys. 2 nosi ono nazwę VBA Projekt.Poniżej znajdują się trzy arkusze (Arkusz 1, Arkusz 2, Arkusz 3), a pod nimi skoroszyt (ThisWorkbook, Ten_skoroszyt). Aby w Edytorze Visual Basic otworzyć zamknięte okno Project należy:

  • w menu View wybrać opcję Project Explorer,
  • naciskając kombinację klawiszy Ctrl+R,
  • kliknąć ikonę Project Explorer na pasku narzędzi (pasek standard).

Rys. 2 Okno Projekt (Węzeł Modules)

W górnej część okna znajdują się przyciski opisane jako:

  • View Code - otwiera moduł kodu zaznaczonego w oknie obiektu,
  • View Obiect - możemy użyć tego przycisku aby otworzyć zaznaczony w oknie obiekt na przykład: formularz lub powrócić do arkusza Excela jeżeli jest on zaznaczony (jak na rysunku powyżej),
  • Toggle Folders - ukrywa lub pokazuje foldery obiektów przy czym stale widoczne są zawarte w nich poszczególne elementy. Jeżeli usuniemy foldery, obiekty wyświetlane będą w porządku alfabetycznym.

     W rozwiniętym oknie widoczne są poszczególne arkusze i arkusze wykresu zawarte w danym skoroszycie. Dodatkowo wyświetlany jest również obiekt o nazwie ThisWorkbook (Ten_skoroszyt), który reprezentuje obiekt Workbook. Jeżeli obiekt zawiera moduły VBA, wtedy na liście widoczny jest węzeł o nazwie Modules (Moduły) (rys.2), reprezentujący moduły kodu VBA.
     Projekt może również zawierać węzeł o nazwie Forms (Formularze), przechowujący obiekty UserForm (rys.3), tj. przyciski, obrazy i obszary tekstu.

Rys. 3 Okno Projekt (Węzeł Forms)

     Aby do projektu dodać nowy moduł VBA, zaznacz w oknie Projekt nazwę projektu, a następnie z menu Insert wybierz pozycję Module. Nowy moduł zostanie dodany do folderu Modules w oknie Projekt. Każdy moduł utworzony w danym skoroszycie zostanie umieszczony w tym folderze.
     Jeżeli chcesz usunąć z danego projektu Modul VBA lub moduł klasy, należy w oknie Projekt Eksplorer zaznaczyć nazwę modułu, a następnie z menu File wybrać polecenie Remove xxx, gdzie xxx to nazwa modułu. Zamiast tego możesz również kliknąć nazwę modułu prawym przyciskiem myszy i z menu podręcznego wybrać polecenie Remove xxx.


Okno Properties

     Okno Properties (Właściwości) - wyświetla właściwości opisujące zaznaczony (aktywny) obiekt, oczywiście wartości tych właściwości można zmieniać modyfikując w ten sposób zaznaczony obiekt. Aby w edytorze wyświetlić okno Properties należy:

  • naciśnąć klawisz F4,
  • z menu View wybrać opcję Properties Window.
  • kliknąć przycisk Properties Window na pasku narzędzi (standard)

Rys. 4 Okno Properties

     W górnej części okna znajduje się lista rozwijana. Lista ta daje nam możliwość wyboru obiektu (po kliknięciu na strzałkę), którego właściwości chcemy wyświetlić. Poniżej znajdują się dwie karty właściwości za pomocą których możemy wyświetlić właściwości obiektu alfabetycznie lub według kategorii. Lewa kolumna każdej z kart (patrząc od strony użytkownika) jest zbiorem nazw parametrów określającym nasz element, zaś prawa strona to wielkości i właściwości tych parametrów.


Okno Code

     Okno Code (Kod programu) - służy do wpisywania kodu programu w języku Visual Basic, jak również do przeglądania i edycji programu. Jest ono najczęściej używanym oknem. W tym oknie możemy otworzyć tyle okien kodu programu ile program ma modułów.
     Aby w edytorze otworzyć okno kodu programu, w oknie Project kliknij dwukrotnie lewym przyciskiem myszy odpowiedni obiekt. Innym sposobem jest zaznaczenie odpowiedniego obiektu w oknie Project a następnie:

  • z menu View wybierz pozycję Code,
  • naciśnij klawisz F7,
  • kliknij ikonę View Code w oknie Project,
  • kliknij obiekt prawym przyciskiem myszy i z menu kontekstowego wybierz pozycję View Code.

Rys. 5 Okno Code

     W oknie kodu można przechowywać trzy rodzaje kodu języka VBA;

  • Procedury Sub - procedura to zbiór poleceń, które wykonują określone operacje,
  • Procedury Funkction - funkcja to zbiór instrukcji zwracających pojedyńczą wartość lub tablicę.
  • Deklaracje - deklaracje to informacja na temat zmiennej zastosowanej w kodzie źródłowym języka VBA.

Procedury, Property - to specjalne procedury stosowane w modułach klas, W pojedyńczym module VBA można przechowywać dowolną liczbę procedur, funkcji oraz deklaracji.

    Program VBA złożony jest z instrukcji (rozkazów), które w procesie kompilacji przetwarzane są na kod zrozumiały dla procesora, a wynikiem jest konkretne działanie zdefiniowane przez programistę. Instrukcje programu zorganizowane są w procedury, moduły i projekty.

  • Procedura - składa się z przynajmniej jednej instrukcji umieszczonej między dwiema specjalnymi instrukcjami: z których pierwsza z nich deklaruje procedurę a ostatnia ją zamyka.
  • Moduł - zawiera z jedną lub więcej procedur oraz sekcje deklaracji w której umieszczamy instrukcje wspólne dla w wszystkich procedur tego modułu.
  • Projekt - obejmuje wszystkie moduły, formularze, obiekty aplikacji macierzystej dokumentu oraz sam dokument.

    Niekiedy program może mieć postać skomplikowaną, na co będzie składać się duża ilość instrukcji i procedur rozmieszczonych w rożnych modułach a nawet projektach.

Do góry


 

Sposoby wprowadzania kodu języka VBA

   

 

Kod programu można umieścić w module VBA na trzy sposoby;

  • metoda tradycyjna (ręczne wprowadzanie kodu) - wprowadzanie kodu źródłowego ręcznie, przy użyciu klawiatury,
  • kopiowanie i wklejanie - kopiowanie kodu z innego modułu i wklejanie go do modułu nad którym pracuje się,
  • rejestrowanie makra - korzystanie z rejestratora makr programu Excel, który umożliwia zarejestrowanie wykonywanych operacji i automatyczną zamianę na odpowiedni kod źródłowy języka VBA.

Ręczne wprowadzanie kodu

    Najprostszy program składa się z jednej procedury w którym umieszczona jest jedna instrukcja. Poniżej znajduje się przykład takiego kodu programu o nazwie Kurs, w którym umieszczono instrukcję MsgBox. Ta instrukcja to funkcja MsgBox, która wyświetla modalne okno informacyjne.

Sub Kurs()
    MsgBox "Początek kursu z języka VBA"
End Sub

Instrukcja ta wyświetla okienko komunikatu i z napisem: Początek kursu z języka VBA

    Aby napisany niżej kod programu mógł czegokolwiek dokonać, należy najpierw w oknie Code umieścić jego kod a następnie uruchomić. Wpisu dokonujemy ręcznie. Jeżeli kod został już umieszczony w oknie Code, możemy uruchomić jego działanie. Jest wiele sposobów uruchomienia tak napisanego kodu programu. Zależy to warunków i zależą od typu procedury czy modulu w którym umieszczone są nasze instrukcje. Dla naszego przykładu, aby uruchomić procedurę Kurs, należy sprawdzić, czy kursor znajduje się w dowolnym miejscu wprowadzonego kodu programu, a następnie wykonać jedną z następujących operacji;

  • nacisnąć klawisz F5,
  • z menu Run wybrać opcje Run Sub/User Form,
  • kliknąć przycisk Run Sub/User Form znajdujący się na pasku narzędzi Standard.

Jeżeli kod programu został poprawnie wprowadzony, procedura zostanie wykonana i w efekcie na monitorze pojawi się proste okno dialogowe (rys. 6) zawierające nazwę kursu. Zwróc uwagę, że po uruchomieniu makra uaktywniony jest program Excel.

Rys. 6 Wynik działania procedury Kurs

    Po napisaniu makra w Edytorze Visual Basic w menu File (Plik) kliknij polecenie Close and Return to Microsoft Excel (Zamknij i powróć do programu Microsoft Excel).

Do góry


 

Kopiowanie i zastosowanie rejestratora makr

   

Kopiowanie kodu źródłowego

    Makro może zostać również utworzone przy użyciu Edytor Visual Basic w języku Microsoft Visual Basic, przez skopiowanie całości lub części makra do nowego makra. Utworzone makro można przypisać do obiektu (takiego jak przycisk paska narzędzi, grafika czy formant), aby mogło być uruchamiane przez kliknięcie tego obiektu. Po wklejeniu kodu można go zmodyfikować i dopasować do wymagań bieżącego projektu. Gdy makro nie jest już potrzebne, można je usunąć.

Kopiowanie całego lub części kodu wykonujemy w następujący sposób;

  • otwórz skoroszyt zawierający makro, które chcesz skopiować.
  • na karcie Deweloper w grupie Kod kliknij przycisk Makra.
  • w polu Nazwa makra kliknij nazwę makra, które chcesz skopiować.
  • kliknij przycisk Edytuj.
  • w oknie kodu Edytora Visual Basic zaznacz wiersze makra, które chcesz skopiować.
    Uwaga - aby skopiować całe makro, zaznacz również wiersze Sub i End Sub.
  • w menu Edit (Edycja) kliknij polecenie Copy (Kopiuj).
  • w oknie kodu w polu Procedure kliknij moduł, w którym chcesz umieścić kod.
  • w menu Edit kliknij polecenie Paste (Wklej).

Zastosowanie rejestratora makr

    Metoda ta polega na rejestrowaniu wykonywanych operacji przy użyciu rejestratora makr programu Excel. Okazuje się, że nie zawsze rejestrowanie makr jest bardzo przydatną funkcją, ponieważ posiada pewne ograniczenia. Praktyka pokazała, że zarejestrowane makra zawsze trzeba zmodyfikować kod lub ręcznie wprowadzić dodatkowe fragmenty kodu. Sposób postępowania w tym przypadku jest następujący;

  • na karcie Deweloper w grupie Kod kliknij przycisk Zarejestruj makro.
  • w polu Nazwa makra wprowadź nazwę makra.
    Uwaga Pierwszy znak nazwy makra musi być literą. Kolejne znaki mogą być literami, cyframi lub znakami podkreślenia. Spacje nie są dozwolone w nazwie makra; do oddzielania wyrazów mogą służyć znaki podkreślenia. Gdy nazwa makra jest używana również jako odwołanie do komórki, może zostać wyświetlony komunikat o błędzie z informacją, że nazwa makra jest nieprawidłowa.
  • aby przyporządkować do uruchamiania makra kombinację klawisz skrótu z klawiszem CTRL, w polu Klawisz skrótu wprowadź wielką lub małą literę, której chcesz użyć
    Uwaga - po otwarciu skoroszytu zawierającego makro klawisz skrótu zastępuje odpowiedni domyślny klawisz skrótu programu Microsoft Excel. Aby zapoznać się z listą przypisanych już w programie Excel kombinacji klawiszy skrótów z klawiszem CTRL, zobacz Klawisze skrótu i klawisze funkcyjne programu Excel.
  • z listy Przechowuj makro w wybierz skoroszyt, w którym makro ma być przechowywane.
    Porada - aby makro było dostępne zawsze, gdy jest używany program Excel, należy wybrać pozycję Osobisty skoroszyt makr.
  • w polu Opis wpisz opis makra.
  • kliknij przycisk OK, aby rozpocząć rejestrowanie.
  • wykonaj akcje, które mają zostać zarejestrowane.
  • na karcie Deweloper w grupie Kod kliknij przycisk Zatrzymaj rejestrowanie.

Do góry


 

Dostosowanie środowiska edytora Visual Basic

   

    Aby ułatwić sobie pracę z edytorem VBE, każdy użytkownik ma możliwość dopasowania jego do swoich indywidualnych wymagań. Do tego celu służy polecenie Options dostępne w menu Tools. Po otwarciu na monitorze pojawi się okno dialogowe zawierajace cztery kart - Editor, Editor Format, General oraz Docking. Każda z wymienionych kart, zawiera w swoim spisie wiele opcji, które w zalezności od warunków, należy zaznaczyć, po to aby były spełnione warunki opsane kartą.
Oto niektóre najważniejsze karty i ich opicje.

Karta Editor

  • Opcja Auto Syntac Check - określa, czy edytor Visual Basic wyświetli okno dialogowe po wykryciu błędu składni w trakcie wprowadzania kodu źródłowego języka VBA,
  • Opcja Require Variable Declaration - jeżeli zostanie włączona, edytor Visual basic na początku każdego twporzonego modułu VBA wstawi polecenie;
    Option Explicit. Jeżeli takie polecenie pojawi się w module, każdu użytkownik będzie musiał jawnie zadeklarować wszystkie zmienne używane w tym module.
  • Opcja Auto List Members - uaktywniona opcja będzie oferowała pomoc w trakcie wprowadzania kodu źródłowego języka VBA. Pomoc będzie polegała na wyświetlaniu listy elementów powiązanych z obiektem, takich jak metody i właściwości użytego obiektu.
  • Opcja Auto Quick Info - po właczeniu wyświetla informacje o argumentach wprowadzanych funkcji, właściwości i metod.
  • Opcja Auto Data Tips - uruchomiona pozwala wyświetlenie zawartości zmiennej po ustawieniu nad nią wskaźnika myszy,
  • Opcja Auto Indent - ustawia automatycznie na początku każdego nowego wiersza identyczne wcięcie jak w przypadku wcześniej przeprowadzonego.
  • Opcja Drag-and-Drop Text Editind - umożliwia kopiowanie i przenoszenie tekstu za pomocą metody przeciągnij i upuść.
  • Opcja Default to Full Mode View - określa sposób przegladania procedur.
  • Opcja Procedure Separator - na końcu każdej procedury będzie wyświetlany pasek separatora.

Rys. 7 Karta Editor okna dialogowego Options

Karta Editor Format - opcje tej karty odpowiadają za wygląd edytora VBE.

Karta General - definiuje rozmiary siatki ułatwiającej wyrównywanie formatów, pozwala na wyświetlanie podpowiedzi, pozwala na analizę błedów, itp.

Karta Docking - pozwala określić zachowanie różnych okien edytora Visual Basic.


Przypisanie makropolecenia do przycisku

    Jednym ze sposobów szybkiego uruchamiania makra jest przypisanie makropolecenia do przycisku. Aby przypisać makropolecenie do przycisku należy;

  • po otwarciu Dewelopera w sekcji Formaty (Formularze) kliknij ikonę Wstaw,
  • na liście Formanty formularza kliknij ikonę Przycisk,
  • kursor zmienil kształt ze strzałki w krzyżyk. Umieść kursor tam, gdzie ma się znajdować lewy górny róg przycisku,
  • wciśnij i przytrzymaj lewy przycisk myszy,
  • przeciagnij kursor tak, aby narysowac prostokątny przycisk,
  • zwolnij lewy przycisk myszy,
  • wyświetlone zostało okno dialogowe Przypisywanie makra. Zaznacz nazwę makropolecenia, które ma być uruchamiane po kliknięciu przycisku.
  • kliknij przycisk OK,
  • w arkuszu pojawił się przycisk. Nosi on nazwę, która nie informuje o przeznaczeniu przycisku,
  • zmieniamy opis przycisku, kliknij go prawym przyciskiem myszy,
  • z podręcznego menu wybierz polecenie Edytuj tekst
  • wpisz tekst, który ma być widoczny na przycisku,
  • aby zakończyć edytowanie, kliknij obok przycisku.

Rys. 8 Przycisk formularza

Do góry


 

 (C) 2011 - 2018 Wydział Przyrodniczo - Techniczny KPSW. All Rights Reserved