Makra bez tajemnic: czym są i do czego służą

Członek społeczności Autor: Stephanie Krieger, ekspert w zakresie tworzenia dokumentów

Dotyczy:
Pakiet Microsoft Office System 2003

Któż z nas nie tracił cennego czasu na wykonywanie powtarzalnych zadań w programach pakietu Microsoft Office, podejrzewając przy tym, że musi istnieć jakiś lepszy sposób? Może chodziło o sformatowanie wielu tabel w długim dokumencie programu Word lub przeorganizowanie danych w arkuszu kalkulacyjnym programu Excel. A może konieczne było wprowadzenie tych samych zmian na kilku podobnych stronach programu Visio lub slajdach programu PowerPoint. Czytelnicy, dla których te lub podobne zadania nie są obce, powinni dowiedzieć się o makrach.

Wyświetlane dość często podczas otwierania dokumentów pakietu Office ostrzeżenie o makrach może powodować, że wielu użytkowników myśli o makrach w niezbyt przyjemnych kategoriach wirusów lub w najlepszym wypadku programowania. Tymczasem trzeba wiedzieć, że większość makr nie tylko nie jest szkodliwa, ale może przyczynić się do kolosalnych oszczędności czasu. Ponadto tworzenie makr i korzystanie z nich jest łatwiejsze niż można by przypuszczać.

Na tej stronie:

Co to jest makro?

Makro to zbiór poleceń, które można uruchomić jednym kliknięciem. Makra mogą zautomatyzować niemal wszystko, co da się zrobić w używanym programie, a czasem umożliwiają nawet robienie rzeczy, o których wcześniej nie wiedziano, że są możliwe.

Czy makra mają coś wspólnego z programowaniem?

Makra to pewien rodzaj programowania, ale nie trzeba być programistą ani nawet wiedzieć czegokolwiek o programowaniu, aby z nich korzystać. Większość makr, jakie można utworzyć w programach pakietu Office, jest napisanych w języku Microsoft Visual Basic for Applications, określanym zwykle skrótem VBA. To właśnie o makrach VBA będzie mowa w tym artykule.

Kiedy i po co warto używać makr

Makra pozwalają oszczędzać czas i rozszerzają możliwości programów używanych na co dzień. Można za ich pomocą automatyzować powtarzalne zadania podczas tworzenia dokumentów, upraszczać kłopotliwe zadania i tworzyć rozwiązania, na przykład do automatyzacji tworzenia dokumentów często używanych przez wiele osób w firmie. Osoby z doświadczeniem w posługiwaniu się językiem VBA mogą używać makr do tworzenia niestandardowych dodatków, takich jak szablony, okna dialogowe, a nawet do przechowywania często używanych informacji.

Rozważmy wspomniany wcześniej przykład formatowania wielu tabel w dokumencie programu Word. Załóżmy, że trzeba sformatować 50 tabel w dokumencie. Nawet jeśli doświadczonemu użytkownikowi sformatowanie jednej tabeli zajmuje tylko pięć minut, całe zadanie zajmie mu ponad cztery godziny. Zarejestrowanie makra formatującego tabelę, a następnie zmodyfikowanie go, aby powtarzało zmiany w całym dokumencie, skróci czas wykonania zadania z kilku godzin do paru minut.

Jak się tworzy makra?

W wielu programach pakietu Office makro można utworzyć, pisząc je lub rejestrując szereg czynności.

Rejestrowanie makra

Rejestrowanie makra jest prawie tak samo proste jak włączanie i wyłączanie magnetofonu. Gdy używa się rejestratora makr, kod makra jest pisany automatycznie na podstawie czynności wykonywanych w programie. W pakiecie Office makra można rejestrować w programach Word, Excel, PowerPoint, Visio i Project.

Przyjrzyjmy się na przykład rejestrowaniu makra dla pierwszego zadania wspomnianego na początku tego artykułu — formatowania kilku tabel w długim dokumencie programu Word. Można zastosować styl, który uwzględni wiele aspektów formatowania, ale może także być konieczne zastosowanie formatowania, które nie wchodzi w zakres stylu, na przykład określenie szerokości tabel lub wysokości wierszy tabeli.

Aby zarejestrować to makro, ustaw najpierw kursor w pierwszej tabeli, którą chcesz sformatować, a następnie wykonaj następujące czynności:

  • W menu Narzędzia kliknij polecenie Makro, a następnie kliknij polecenie Zarejestruj nowe makro.
  • W przedstawionym na ilustracji oknie dialogowym Rejestrowanie makra można nazwać makro, przypisać je do paska narzędzi lub skrótu klawiaturowego, aby mieć do niego łatwy dostęp, określić miejsce, w którym makro zostanie zapisane, oraz dodać opis makra ułatwiający posługiwanie się makrem w przyszłości. Można także pominąć na razie wszystkie te czynności i po prostu kliknąć przycisk OK, aby rozpocząć rejestrowanie.

Okno dialogowe Rejestrowanie makra

  1. Przypisaną automatycznie nazwę makra oznaczoną liczbą kolejną można zmienić. W nazwach makr można używać liter i cyfr, ale nie można stosować spacji.
  2. Domyślnie nowo rejestrowane makra są zapisywane w szablonie globalnym o nazwie Normal.dot. Można je jednak zapisywać również w bieżącym dokumencie lub szablonie albo w innym szablonie niestandardowym.
  3. Makro można przypisać do paska narzędzi lub do skrótu klawiaturowego, co ułatwi dostęp do niego. Jeśli jednak ten krok zostanie teraz pominięty, będzie go można wykonać w dowolnej chwili po utworzeniu makra.
  4. Opis makra zawiera datę i nazwę użytkownika, który zarejestrował makro. W razie potrzeby można ten opis zmienić.

Po kliknięciu przycisku OK zostanie otwarty mały pasek narzędzi z dwoma przyciskami Zatrzymaj rejestrowanieObraz przycisku i Wstrzymaj rejestrowanieObraz przycisku.

  • Wykonaj poszczególne czynności potrzebne do sformatowania tabeli. Na przykład możesz zastosować styl tabeli, ustawić jej szerokość na 50% dostępnej szerokości strony, zaznaczyć tabelę i usunąć ustawienia wysokości z wszystkich wierszy tabeli. Po zastosowaniu elementów formatowania, które będą takie same dla wszystkich tabel przeznaczonych do sformatowania, kliknij przycisk Zatrzymaj rejestrowanie.
  • Teraz możesz kliknąć wewnątrz dowolnej tabeli w dokumencie, a następnie uruchomić to makro, aby automatycznie powtórzyć wszystkie czynności, które zostały wykonane w odniesieniu do pierwszej tabeli.

Uwaga     Jeśli makro nie zostało przypisane do paska narzędzi ani do skrótu klawiaturowego, możesz uzyskać dostęp do niego w oknie dialogowym Makra. W tym celu kliknij polecenie Makro w menu Narzędzia, a następnie kliknij polecenie Makra. Wybierz makro z listy Nazwa makra, a następnie kliknij przycisk Uruchom.

Pisanie makra

W programach pakietu Office oferujących możliwość rejestrowania makr, takich jak Access, Outlook, FrontPage i Publisher, można także pisać własne makra VBA. Aby napisać makro, trzeba znać trochę język VBA, ale nauczenie się go jest zaskakująco łatwe dzięki wiedzy wynikającej po prostu z używania programu. Język VBA służy przede wszystkim do automatyzacji funkcji używanych na co dzień. Na przykład w programie Word obiekty języka VBA obejmują takie elementy jak dokumenty, tabele, akapity lub sekcje.

Edycja zarejestrowanego makra zwiększa jego możliwości. Na przykład w makrze, którego rejestrowanie opisano powyżej, można dodać element nazywany pętlą — prosty kod w języku VBA, dzięki któremu makro będzie stosować formatowanie kolejno do wszystkich tabel w dokumencie. W ten sposób zostanie wyeliminowana konieczność uruchamiania makra osobno dla każdej tabeli.

Jednym z ciekawszych aspektów pisania i edytowania makr VBA jest to, że gdy już pozna się podstawy języka VBA w jednym programie pakietu Office, można tę wiedzę niemal w całości wykorzystać do pisania i edytowania makr w pozostałych. Co prawda w przypadku poszczególnych funkcji stosuje się różną terminologię, ale język potrzebny do definiowania makr i dodawania struktur takich jak pętla jest identyczny we wszystkich programach obsługujących VBA.

Porada     Dobrym sposobem rozpoczęcia nauki języka VBA jest zarejestrowanie makra, a następnie przyjrzenie się mu w Edytorze Visual Basic. Aby to zrobić, kliknij polecenie Makro w menu Narzędzia, a następnie kliknij polecenie Makra. Wybierz zarejestrowane makro z listy Nazwa makra, a następnie kliknij przycisk Edytuj.

Czy makra są bezpieczne?

Nie ulega dyskusji, że makra, chociaż są w większości nieszkodliwe i pomocne, stanowią ważny problem z punktu widzenia bezpieczeństwa systemu. Makra tworzone z nieczystymi intencjami mogą zawierać destrukcyjny kod, zagrażający dokumentom lub systemowi.

Aby zabezpieczyć swój system i pliki, nie należy włączać makr z nieznanych źródeł. Ustawienie poziomu bezpieczeństwa makr w programach pakietu Office na Średnie pozwoli decydować o włączaniu lub wyłączaniu makr, nie ograniczając jednocześnie dostępu do żadnego makra, którego chce się użyć. W każdym otwieranym pliku można będzie włączyć lub wyłączyć makra, przy czym będzie zapewniona możliwość uruchamiania dowolnego makra.

Aby ustawić bezpieczeństwo makr w dowolnym programie pakietu Office, w którym są dostępne makra VBA, kliknij polecenie Makro w menu Narzędzia, a następnie kliknij polecenie Zabezpieczenia. Wybierz preferowany poziom zabezpieczeń i kliknij przycisk OK. Pamiętaj, że zaznaczenie opcji Niskie na karcie Poziom zabezpieczeń jest niezalecane.

Wprowadzenie do makr w programie...

Word

W programie Word istnieje możliwość rejestrowania i pisania makr.

Dla zaawansowanych użytkowników programu Word, którzy nie mają problemów z rejestrowaniem makr, program Word jest doskonałym miejscem do rozpoczęcia nauki edytowania i pisania własnych makr, ponieważ język VBA w programie Word wykorzystuje w dużym stopniu terminologię znaną już i używaną przez nich na co dzień.

Excel

Makra są bardzo popularne w programie Excel, ponieważ mogą one znacznie rozszerzyć funkcjonalność, z której korzysta się codziennie. W programie Excel można używać makr do bardzo zróżnicowanych zadań, od automatyzacji typowych czynności po tworzenie funkcji niestandardowych.

PowerPoint, Visio i Project

Podobnie jak w programach Word i Excel, także w programach PowerPoint, Visio i Project można rejestrować i pisać makra.

Access

W programie Access makra odgrywają zasadniczą rolę, ponieważ mogą w znacznym stopniu rozszerzyć funkcjonalność baz danych. Chociaż w programie Access nie można rejestrować makr, można napisać kod w języku Access VBA oraz tworzyć makra przy użyciu narzędzia o nazwie Konstruktor makr. W programie Access dostępnych jest kilka opcji pomocnych w niezbędnej automatyzacji. Język VBA to tylko jedna z nich.

FrontPage i Publisher

Podobnie jak w programach Word, Excel, PowerPoint i Visio, także w programach FrontPage i Publisher można pisać makra, aby nie tracić czasu na powtarzalne zadania. W programie FrontPage można również tworzyć dodatki rozszerzające możliwości programu.


O autorze

Stephanie Krieger jest ekspertem w zakresie tworzenia dokumentów. Specjalizuje się w opracowywaniu rozwiązań dla pakietu Microsoft Office System. Jest autorką artykułu Projektant dokumentów w pakiecie Microsoft Office. Stephanie pisze do kilku witryn sieci Web firmy Microsoft, w tym do witryn Z firmą Microsoft w pracy (w języku angielskim) i Office Online, oraz często opracowuje emisje internetowe na temat pakietu Office System.