Microsoft Office Outlook     Uruchamianie, zabezpieczanie i dystrybucja makr, cz. II

Uruchamianie, zabezpieczanie i dystrybucja makr, cz. I Udostępnij na: Facebook

Autor: Michał Bednarz

Opublikowano: 14 grudnia 2006

Część pierwsza artykułu przedstawia, w jaki sposób w Outlook’u instaluje i uruchamia się makra. Jak skonfigurować interfejs użytkownika programu, aby najczęściej używane makra były łatwo dostępne i można było uruchamiać je jednym kliknięciem myszki. Druga część omawia sposób, w jaki administrator może dystrybuować ustawienia interfejsu użytkownika oraz makra do wielu użytkowników w sieci. Trzecia część przedstawia informacje o tym jak zadbać o maksymalny poziom bezpieczeństwa podczas uruchamiania makr przy wykorzystaniu podpisu cyfrowego. Artykuł nie dotyczy modelu obiektowego Outlook’a oraz samego tematu pisania makr.

Zawartość strony
 Wstęp   Wstęp
 Podstawy instalacji i uruchamiania makr   Podstawy instalacji i uruchamiania makr
 Uruchamianie makra z paska narzędzi   Uruchamianie makra z paska narzędzi
 Poziomy zabezpieczeń makr   Poziomy zabezpieczeń makr
 Poziomy zabezpieczeń makr w Outlook 2007   Poziomy zabezpieczeń makr w Outlook 2007
 Cyfrowe podpisywanie makr   Cyfrowe podpisywanie makr
 Podsumowanie   Podsumowanie
 Materiały dodatkowe   Materiały dodatkowe
 Przeczytaj pozostałe części artykułu   Przeczytaj pozostałe części artykułu

Wstęp

W Microsoft Office Outlook, podobnie jak w innych aplikacjach pakietu Microsoft Office, można tworzyć własne makra, które automatyzują wybrane czynności wykonywane w programie i nierzadko pozwalają zaoszczędzić sporo cennego czasu. Makra to zazwyczaj krótkie procedury, czasem kilka połączonych procedur, ale czasem spore projekty implementujące zaawansowane funkcjonalności - pisane są przy użyciu języka Visual Basic for Applications (VBA). W makrach wykorzystuje się obiekty udostępniane przez program Microsoft Office Outlook, które reprezentują poszczególne dane (elementy, foldery) oraz elementy interfejsu użytkownika programu (menu, paski narzędzi, komendy). Obiekty posiadają właściwości (reprezentujące dane), metody (pozwalające wykonywać operacje na obiektach i ich danych) oraz zdarzenia (wyzwalane przez obiekty podczas określonych akcji). Obiektów w Outlook’u jest kilkadziesiąt. Każdy z nich ma po kilkanaście właściwości, klika metod oraz zdarzeń. Dzięki temu można tworzyć makra, które w znaczący sposób pozwalają przyspieszyć i ułatwić pracę użytkownika, a nawet zaimplementować nowe funkcjonalności.

Użytkownik ma możliwość dostosowywania i częściowego rozszerzania Outlook’a tak, aby odpowiadał jego indywidualnym potrzebom. Z drugiej jednak strony duża liczba obiektów, ich właściwości i metod powoduje, że potrzebne jest nieco czasu i praktyki, aby z nimi wszystkimi się zapoznać i zacząć w miarę swobodnie się posługiwać. Na szczęście w Internecie można znaleźć dużo gotowych do użycia makr, które rozwiążą wiele z naszych problemów. Czasami wystarczy wprowadzić kilka drobnych zmian, czasami żadnej. Dlatego nawet użytkownik, który nie zna obiektów Outlook’a lub zna je tylko pobieżnie, może wykorzystywać makra w codziennej pracy. Powinien jednak dokładnie wiedzieć, w jaki sposób makro poprawnie i jak najwygodniej uruchomić.

Makra to również temat interesujący z punktu widzenia administratorów sieci. Wykorzystując założenia grup (Goup Policy Objects - GPO), poziomy zabezpieczeń makr i cyfrowe podpisywanie kodu mogą oni w zautomatyzowany sposób dystrybuować makra na wiele komputerów zapewniając jednocześnie wysoki poziom bezpieczeństwa.

 Do początku strony Do początku strony

Podstawy instalacji i uruchamiania makr

Jako przykładem posłużmy się bardzo prostym makrem, które tworzy i wyświetla nową wiadomość pocztową o określonym temacie oraz treści. Jego kod jest następujący:

Sub CreateHTMLMail()

Dim oMail As MailItem

Set oMail = Application.CreateItem(olMailItem)

oMail.HTMLBody = "<b>Witam</b>, <br />to jest treść wiadomości"

oMail.Subject = "Wiadomość testowa"

oMail.Display

End Sub

Aby makro mogło być uruchomione w Outlook’u, należy jego kod umieścić najpierw w edytorze VBA Outlook’a. Edytor można uruchomić poprzez wybranie z menu „Narzędzia | Makro | Edytor Visual Basic” lub poprzez wciśnięcie kalwiszy Alt+F11. Edytor nie jest dostępny w języku polskim, więc jeśli posiadamy polskojęzyczną wersję Outlook’a, interfejs użytkownika edytora będzie w języku angielskim. Edytor składa się z trzech głównych okien: Project (Projekt), Properties (Właściwości) oraz Code (Kod) (rys.1).

Rys. 1. Edytor Visual Basic for Applications (VBA)

W oknie projektu wyświetlone są wszystkie moduły wchodzące w skład projektu. Okno właściwości wyświetla informacje o module obecnie zaznaczonym w oknie projektu. Okno kodu zawiera kod obecnie wybranego modułu. W Outlook’u może istnieć tylko jeden projekt, nie można go usunąć ani dodać nowego, można co najwyżej w oknie właściwości zmienić jego nazwę. Projekt domyślnie zawiera jeden moduł kodu, który jest umieszczony w kontenerze „Microsoft Office Outlook Objects” i ma nazwę „ThisOutlookSession”. Moduł ten nie może zostać usunięty z projektu (nie można również zmienić jego nazwy) i ma specjalne znaczenie, o czym dowiemy się w dalszej części artykułu. Poza tym użytkownik może dodawać do projektu nieograniczoną liczbę nowych modułów kodu, klas oraz form. Moduł kodu, klasa, forma to pojęcia z języka Visualk Basic. Wspomnę tylko, że w module kodu definiuje się procedury, moduł klasy związany jest z programowaniem obiektowym i pozwala na definiowanie kodu klas na podstawie, którego tworzone są obiekty. Natomiast forma to okno dialogowe zawierające kontrolki, które pozwala na tworzenie interfejsu użytkownika i przez to na interakcję z użytkownikiem z poziomu makr. Form w edytorze VBA nie należy mylić z formularzami, które można projektować bezpośrednio w programie Outlook, są to zupełnie odrębne pojęcia. Możliwość dodawania do projektu wielu różnych modułów oraz tworzenia własnych form pozwala na implementację w Outlook’u złożonych rozwiązań realizujących nawet skomplikowane funkcje.

Nasze przykładowe makro powinniśmy umieścić w module „ThisOutlookSession” lub w innym module kodu. Aby dodać nowy moduł kodu, w menu „Insert” należy wybrać polecenie „Module”. W oknie projektu utworzony zostanie nowy kontener „Modules” a w nim umieszczony zostanie nowy moduł kodu o nazwie „Modul1” (rys.1). Po zaznaczeniu modułu w oknie projektu, możemy w oknie właściwości zmienić jego nazwę na bardziej znaczącą. Po dwukrotnym klknięciu modułu w oknie projektu, w oknie kodu wyświetlony zostanie jego kod. Kod makra należy wkleić w oknie kodu i wybrać w menu „File” polecenie „Save” (Ctrl+S) w celu jego trwałego zapisania.

Tu kilka słów wyjaśnienia dotyczącego modułu „ThisOutlookSession”. Czym różni się od innych modułów kodu dodawanych do projektu? Otóż jest tylko jedna różnica. Jeśli używamy makr korzystających ze zdarzeń Outlook’a, to muszą one być umieszczone właśnie w module „ThisOutlookSession”. Zdarzenia to specjalne procedury uruchamiane przez Outlook’a w określonych okolicznościach. Na przykład procedura o nazwie Application_NewMailEx zostanie automatycznie uruchomione za każdym razem, gdy odbierana jest nowa wiadomość pocztowa, a makro Application_Startup, gdy uruchamiany jest program Outlook. Kod takich procedur-zdarzeń może być przez nas dowolnie zmieniany, dzięki czemu mamy większe możliwości działania i możemy sprawować większą kontrolę nad Outlook’iem.

Teraz, gdy makro jest gotowe do uruchomienia, możemy zamknąć edytor VBA. Aby uruchomić makro w Outlook’u, w menu należy wybrać polecenie „Narzędzia | Makro | Makra” lub wcisnąć klawisze Alt+F8. Wyświetlone zostanie okno zawierające listę wszystkich makr zdefiniowanych obecnie w Outlook’u (rys.2). Po zaznaczeniu naszego przykładowego makra „CreateHTMLMail” i kliknięciu przycisku „Uruchom” zostanie ono uruchomione, w wyniku czego wyświetlona zostanie nowa wiadomość pocztowa w formacie HTML z wypełnionymi polami tytułu i treści. Efekt działania samego makra nie jest być może imponujący, ale pamiętajmy, że służy nam ono jedynie do celów przykładowych.

Rys. 2. Okno wyświetlające listę makr dostępnych w Outlook’u.

 Do początku strony Do początku strony

 

Uruchamianie makra z paska narzędzi

Korzystając z możliwości, jakie daje Outlook w zakresie dostosowywania interfejsu użytkownika, możemy utworzyć własny pasek narzędzi z przyciskami uruchamiającymi wybrane makra. Utworzenie takiego paska narzędzi i umieszczenie na nim przycisków uruchamiających najczęściej używane makra potrafi znacznie usprawnić i przyspieszyć pracę użytkownika z programem Outlook. Nowe przyciski uruchamiające makra możemy także dodawać do już istniejących pasków narzędzi. Możemy również dodawać komendy uruchamiające makra w istniejących menu albo możemy stworzyć zupełnie nowe menu. My zajmiemy się przypadkiem, gdy chcemy utworzyć nowy pasek narzędzi i na nim umieścić przyciski uruchamiające makra.

Najpierw stwórzmy nowy pasek narzędzi, w tym celu:

  1. W menu wybierz „Narzędzia | Dostosuj”.
  2. Przejdź do zakładki „Paski narzędzi” i kliknij „Nowy”.
  3. Podaj nazwę nowego paska narzędzi (np. „Makra”) i kliknij OK.
  4. Nie zamykaj okna „Dostosowywanie” – będzie nam jeszcze potrzebne.

Utworzony i wyświetlony zostanie nowy pusty pasek narzędzi (rys.3).

Rys. 3. Tworzenie nowego paska narzędzi.

Teraz na pasku narzędzi „Makra” utworzymy nowy przycisk, który będzie uruchamiał makro „CreateHTMLMail”:

  1. Na dialogu „Dostosowywanie” przejdź do zakładki „Polecenia”.

  2. Na liście „Kategorie” wybierz „Makra”.

  3. Na liście „Polecenia” zaznacz makro o nazwie „Project1.CreateHTMLMail” i przeciągnij je myszką na pasek narzędzi „Makra”. Makro możesz przeciągnąć również na jeden ze standardowych pasków narzędzi, a nawet umieścić je w którymś z menu Outlook’a. Jeśli makro zostało umieszczone w module ThisOutlookSession, jego nazwa będzie wyglądać następująco ”Project1.ThisOutlookSession.CreateHTMLMail”. Jeśli na liście nie widzisz makra, uruchom ponownie Outlook’a i przejdź do kolejnego punktu.

  4. Teraz kliknij prawym klawiszem myszy na utworzonym właśnie przycisku makra na pasku narzędzi. Wyświetlone zostanie menu, które zawiera opcje umożliwiające edycję wyglądu przycisku (rys.4). Przede wszystkim będziemy chcieli zmienić jego nazwę na nieco krótszą. W menu kliknij na pole edycji znajdujące się obok pozycji „Nazwa” i wpisz nazwę makra, czyli w tym wypadku „CreateHTMLMail”. Wciśnij Enter, aby zatwierdzić zmianę.

    Rys. 4. Dodawanie nowego przycisku do paska narzędzi oraz edycja jego właściwości.

  5. Mamy możliwość, choć nieco ograniczoną, utworzenia skrótu klawiaturowego, który będzie uruchamiał makro. Jeśli w nazwie makra na przycisku wstawimy znak „ampersand” ‘&’, to znak ten nie zostanie wyświetlony w nazwie przycisku, lecz podkreślona zostanie następująca po nim litera. W ten sposób utworzymy skrót klawiaturowy do przycisku składający się z podkreślonej litery oraz klawisza Alt (lewy). Jesteśmy tu jednak mocno ograniczeni co do wyboru litery, ponieważ wiele z nich jest już zajętych przez standardowe przyciski w paskach narzędzi oraz przez główne menu Oultook’a. W naszym przykładowym makrze możemy na przykład wykorzystać literę H do utworzenia skrótu klawiaturowego. Wtedy nazwa przycisku musi mieć następującą postać: „Create&HTMLMail”. Po wybraniu na klawiaturze klawiszy Alt+H, wciśnięty zostanie przycisk i uruchomione zostanie makro.

  6. Teraz zmieńmy również ikonę przycisku. Użyjmy ikony wiadomości, która znajduje się na przycisku „Nowy” na standardowym pasku narzędzi.

    • W tym celu najpierw musimy wykonać zrzut ekranu wciskając Alt+PrintScreen.
    • Teraz otwórz program Paint i wklej zawartość schowka wybierając Ctrl+V.
    • Zaznacz ikonę wiadomości używając narzędzia „Zaznacz”. Zaznaczenie powinno mieć dokładnie rozmiar 16 na 16 pikseli, w przeciwnym wypadku ikona zostanie automatycznie rozciągnięta do takiego rozmiaru i będzie źle wyglądać.
    • Skopiuj zaznaczenie do schowka (Ctrl+C).
    • Przejdź z powrotem do programu Outlook i kliknij prawym klawiszem myszy na przycisku makra na pasku narzędzi (okno „Dostosowywanie” powinno być cały czas otwarte). Z menu wybierz polecenie „Wklej obraz przycisku”. Ikona przycisku powinna zamienić się na obrazek wycięty w programie Paint.
    • Wybierając z menu komendę „Edytuj obraz przycisku” masz możliwość dokonania zmian w obecnej ikonie przycisku lub utworzenia jej od podstaw (rys.5). Specjalny kolor o nazwie „Wymaż” na dialogu „Edytor przycisku” pozwala na tworzenie przezroczystych miejsc w obrazie ikony.
    • Teraz możesz zamknąć dialog „Dostosowywanie”.

Rys. 5. Edytor obrazka przycisku.

Tworzenie nowego paska narzędzi z przyciskiem uruchamiającym makro zostało zakończone. W ten sam sposób do paska narzędzi „Makra” (lub do innych pasków) możemy dodawać nowe przyciski uruchamiające makra. Dzięki temu często wykorzystywane makra mogą być łatwiej i szybciej uruchamiane. Pasek narzędzi "Makra" możesz umieścić obok innych pasków narzędzi (rys.6). Możesz go również zamknąć i w każdej chwili ponownie wyświetlić wybierając w menu polecenie "Widok | Paski narzędzi | Makra". Pozycja paska zostanie zapamiętana i zostanie on wyświetlony w tym samym miejscu po ponownym uruchomieniu Outlook’a.

Rys. 6. Nowy pasek narzędzi z przyciskiem uruchamiającym makro „CreateHTMLMail”.

 Do początku strony Do początku strony

 

Poziomy zabezpieczeń makr

Z makrami związany jest poziom zabezpieczeń makr, który może mieć jedną z czterech wartości: „Niskie”, „Średnie”, „Wysokie” i „Bardzo wysokie”. W zależności od ustawionego poziomu zabezpieczeń Outlook różnie zachowuje się w momencie próby uruchomienia makra. Poziom zabezpieczeń oprócz makr dotyczy również dodatków COM (COM Add-in) obecnie zainstalowanych w Outlook’u. Aby sprawdzić, jakie dodatki COM są zainstalowane należy w menu przejść do „Narzędzia | Opcje | Inne | Opcje zaawansowane | Dodatki COM”.

Aby ustawić poziom zabezpieczeń makr, należy w menu wybrać „Narzędzia | Makro | Zabezpieczenia” i zaznaczyć odpowiednią opcję na dialogu (rys.7). Domyślnie poziom zabezpieczeń ustawiony jest na „Wysokie”.

Rys. 7. Ustawianie poziomu zabezpieczeń makr.

Jeśli poziom zabezpieczeń makr ustawiony jest na „Niskie”, Outlook uruchamia wszystkie makra i dodatki COM bez żadnych dodatkowych akcji.

Jeśli poziom ustawiony jest na „Średnie”, przed pierwszym w danej sesji uruchomieniem makr (lub dodatku), Outlook wyświetli dialog z ostrzeżeniem i pytaniem, czy makro (dodatek) powinno zostać faktycznie uruchomione (rys.8).

Rys. 8. Ostrzeżenie przy poziomie zabezpieczeń ustawionym na „Średnie”.

Jeśli użytkownik kliknie przycisk „Włącz makra”, to makra zostaną włączone dla obecnej sesji i dialog nie pojawi się ponownie, aż do następnego uruchomienia Outlook’a. Jeśli jednak użytkownik kliknie przycisk „Wyłącz makra”, to makra (i dodatki COM) zostaną wyłączone w obecnej sesji i nie będzie można ich włączyć, póki ponownie nie uruchomi się programu Outlook. Jeśli makro jest podpisane elektronicznie i podpis cyfrowy jest zaufany na lokalnym komputerze, to makro zostanie automatycznie uruchomione bez wyświetlania dialogu z ostrzeżeniem. Jeśli podpis nie jest jeszcze zaufany na komputerze, to wyświetlony zostanie dialog, na którym użytkownik może zdecydować czy chce ufać podpisowi lub czy chce uruchomić makro. Przy tym poziomie zabezpieczeń użytkownik może uruchomić makra bez konieczności dodawania certyfikatu do zaufanych wydawców (rys.9).

Rys. 9. Ostrzeżenie podczas uruchamiania cyfrowo podpisanego makra, którego certyfikat nie jest zaufany na komputerze. Poziom zabezpieczeń „Średnie”.

Na zakładce „Zaufani wydawcy” (rys.10) dialogu „Zabezpieczenia” użytkownik ma możliwość przeglądania bezpośrednio z poziomu Outlook’a certyfikatów, które są zaufane na lokalnym komputerze. Jeśli certyfikat jest zaufany, to podczas uruchamiania makr Outlook nie wyświetla dialogu z ostrzeżeniem.

Rys. 10 Zaufani wydawcy to certyfikaty do podpisywania kodu zaufane na tym komputerze.

Poziom zabezpieczeń ustawiony na „Wysokie” powoduje, że Outlook pozwoli uruchomić makra i dodatki tylko, jeśli są cyfrowo podpisane i podpis jest prawidłowy. Jeśli podpis jest prawidłowy, ale nie jest jeszcze zaufany na komputerze, to wyświetlone zostanie okno dialogowe z pytaniem, czy użytkownik ufa podpisowi. Jeśli wybrana zostanie opcja „Zawsze ufaj makrom od tego wydawcy”, to makro (dodatek) zostanie uruchomiony, a certyfikat, którym jest podpisane zostanie dodany do zaufanych na tym komputerze. W tym przypadku użytkownik nie może uruchomić makra, dopóki nie zaznaczy opcji „Zawsze ufaj makrom od tego wydawcy” (rys.11).

Rys. 11 Ostrzeżenie podczas uruchamiania cyfrowo podpisanego makra, którego certyfikat nie jest zaufany na komputerze. Poziom zabezpieczeń „Wysokie”.

Ustawienie poziomu zabezpieczeń makr na „Bardzo wysokie” powoduje, że nie będzie mogło zostać uruchomione żadne makro, nawet, jeśli jest cyfrowo podpisane. Uruchamiane mogą być tylko zainstalowane dodatki COM. Poziom „Bardzo wysokie” ustawiony może być tylko w wersji Outlook 2003, nie jest on dostępny we wcześniejszych wersjach programu.

W Outlook 2003 z dodatkami COM wiąże się jeszcze jedna opcja. Na dialogu „Zabezpieczenia” na zakładce „Zaufanie wydawcy” znajduję się opcja „Ufaj wszystkim zainstalowanym dodatkom i szablonom” (rys.10). Jeśli jest ona zaznaczona (a domyślnie jest), to niezależnie od wartości poziomu zabezpieczeń makr wszystkie zainstalowane dodatki COM mogą być uruchamiane bez żadnych przeszkód. Zaznaczenie tej opcji znacznie ułatwia pracę z dodatkami COM. Jeśli instalujemy dodatek w Outlook’u, to zazwyczaj jesteśmy pewni jego pochodzenia i chcemy, aby działał bez żadnych ograniczeń. Inaczej jest z makrami, które mogą zostać przysłane nam razem z wiadomością pocztową i potencjalnie mogą wyrządzić szkody w systemie. Dlatego domyślnie poziom zabezpieczeń makr ustawiony jest na „Wysokie”, co uniemożliwia ich automatyczne uruchamianie, dopóki nie zaufamy certyfikatowi, którym są podpisane. Natomiast wszystkie zainstalowane dodatki COM domyślnie mogą być uruchamiane. Opcja „Ufaj wszystkim zainstalowanym dodatkom i szablonom” nie jest dostępna w wersjach programu wcześniejszych niż Outlook 2003. W związku z tym do dodatków COM stosowane są tam takie same zasady jak do makr, co utrudnia ich używanie.

Na dialogu „Zabezpieczenia” (rys.7) przy poziomie „Bardzo wysoki” znajduje się informacja „Będą uruchamiane tylko makra zainstalowane w zaufanych lokalizacjach”. Jednak w Outlook’u nie ma zdefiniowanych żadnych zaufanych lokalizacji, makra nie mogą być również umieszczane w innych lokalizacjach niż położenie projektu, więc w praktyce po zaznaczeniu tego poziomu żadne makra nie są uruchamiane. Dialog „Zabezpieczenia” jest wspólny dla aplikacji z pakietu Office i przytoczone zdanie odnosi się do innych aplikacji, w których zdefiniowane są zaufane lokalizacje. Na przykład dla programu Excel są to foldery: <Documents and Settings>\<user name>\Application Data\Microsoft\Excel\XLSTART
oraz <Program Files>\Microsoft Office\Office11\XLSTART.

Podobnie jest z opcją „Ufaj dostępowi do programu Visual Basic Project”(rys.10) – opcja ta nie ma znaczenia w programie Outlook i dlatego jest niedostępna.

 Do początku strony Do początku strony

 

Poziomy zabezpieczeń makr w Outlook 2007

Poziomy zabezpieczeń makr w Outlook 2007 zachowują się inaczej niż w poprzednich wersjach programu. Z jednej strony zaostrzono zabezpieczenia, z drugiej – zmieniony został interfejs użytkownika i poszczególne opcje opisywane wcześniej znajdują się w innych miejscach.

Aby zdefiniować poziom zabezpieczeń makr w Outlook 2007, należy w menu wybrać „Tools | Trust Center” i w panelu „Trust Center” przejść do zakładki „Macro Security” (rys.12) (w trakcie pisania tego artykułu nie jest dostępna jeszcze polskojęzyczna wersja programu Outlook 2007).

Rys. 12 Określanie poziomu zabezpieczeń makr w programie Outlook 2007.

W Outlook 2007, podobnie jak w Outlook 2003, występują cztery poziomy zabezpieczeń makr, ale mają one nieco inne znaczenie. Najniższy z nich pozwala uruchamiać wszystkie makra niezależnie od ich lokalizacji czy podpisu cyfrowego.

Drugi poziom zabezpieczeń powoduje wyświetlenie dialogu z zapytaniem czy makra powinny być uruchamiane. Dialog wyświetlany jest dla wszystkich makr, również tych podpisanych cyfrowo (rys.13).

Rys. 13 Ostrzeżenie o uruchamianiu makra podpisanym niezaufanym certyfikatem wygląda inaczej niż w poprzednich wersjach Outlook’a.

Trzeci poziom bezpieczeństwa wyświetla dla makr podpisanych cyfrowo dialog z zapytaniem czy makro powinno być uruchomione. Poziom ten w ogóle nie zezwala na uruchamianie makr, które nie są podpisane. Jest to poziom domyślny.

Czwarty najbardziej restrykcyjny poziom zabezpieczeń, nie zezwala na uruchamianie żadnych makr.W Outlook 2007 lista zaufanych wystawców znajduje się w „Trust Center” na zakładce „Trusted Publishers”.

Odpowiednikiem opcji „Ufaj wszystkim zainstalowanym dodatkom i szablonom” z wersji Outlook 2003, jest opcja „Apply macro securtiy settings to all installed add-ins”, którą można znaleźć w „Trust Center” na zakładce „Add-ins” (rys.14). Domyślnie opcja ta jest wyłączona, co oznacza, że wszystkie dodatki COM mogą być uruchamiane bez ograniczeń. Jeśli zostanie włączona, to dla dodatków będą stosowane takie same reguły bezpieczeństwa, jak dla makr (zdefiniowane na zakładce „Macro Security”).

Rys. 14 Opcja „Apply macro security settings to installed add-ins” powoduje zastosowanie poziomów zabezpieczeń także do dodatków COM zainstalowanych w Outlook’u.

 Do początku strony Do początku strony

 

Cyfrowe podpisywanie makr

Ustawienie poziomu zabezpieczeń makr na „Wysokie”, co ze względów bezpieczeństwa jest zalecaną opcją, pozwala uruchamiać makra tylko, jeśli są one podpisane cyfrowo. W wyniku tego wszystkie makra zdefiniowane w edytorze VBA w Outlook’u stają się niedostępne. Aby móc ich używać należy podpisać cyfrowo projekt VBA. Jak zostało to wspomniane wcześniej, w Outlook’u wszystkie makra znajdują się w jednym projekcie (w różnych modułach) i nie można utworzyć innych projektów. Faktycznie podpisuje się więc cały projekt VBA, a nie pojedyncze makra.

Do podpisania projektu potrzebny jest jednak certyfikat przeznaczony specjalnie do podpisywania kodu. Jeśli pracujemy w środowisku Active Directory możemy poprosić administratora o wystawienie takiego certyfikatu. Możemy uzyskać go również od zewnętrznych urzędów certyfikacyjnych, choć wtedy musimy za niego zapłacić. Dla prywatnych potrzeb w celu podpisania projektu VBA na lokalnym komputerze najlepiej skorzystać z programu SelfCert.exe dostarczanego razem z pakietem Office. Program ten nie jest instalowany na komputerze podczas instalacji używającej domyślnych ustawień, dlatego zazwyczaj należy ponownie uruchomić program instalacyjny Office.

W tym celu należy:

  1. Przejść do „Panelu sterowania”.
  2. Odszukać pakiet Office na liście zainstalowanych aplikacji, zaznaczyć go i kliknąć „Zmień”.
  3. W instalatorze wybrać „Dodaj lub usuń funkcje” i kliknąć przycisk „Dalej”.
  4. Na następnej stronie zaznaczyć opcję „Wybierz zaawansowane dostosowywanie aplikacji” i kliknąć przycisk „Dalej”.
  5. Rozwinąć gałąź „Funkcje wspólne pakietu Office” i dla komponentu „Certyfikat cyfrowy dla projektów VBA” zaznaczyć opcję „Uruchamiaj z mojego komputera” (rys.15).
  6. Dokończyć proces instalacji składników Office klikając przycisk „Aktualizuj”.

Rys. 15 Instalacja programu SelfCert.exe

Teraz program SelfCert.exe powinien znajdować się w folderze „C:\Program Files\Microsoft Office\Office11\”. Folder ten może się różnić, jeśli Microsoft Office nie został zainstalowany w domyślnej lokalizacji lub używamy wersji innej niż 2003. Po uruchomieniu programu SelfCert.exe, wystarczy w polu „Nazwa certyfikatu” podać nazwę cyfrowego podpisu i kliknąć przycisk OK (rys.16). Certyfikat zostanie utworzony i zapisany jako certyfikat osobisty.

Rys. 16 Generowanie przy pomocy programu SelfCert.exe prywatnego certyfikatu do podpisywania kodu.

Aby podpisać projekt VBA, należy uruchomić edytor VBA w Outlook’u i w menu edytora wybrać „Tools | Digital Signature”. Po kliknięciu przycisku „Wybierz” pojawi się lista prywatnych certyfikatów służących do podpisywania kodu. Należy zaznaczyć na niej utworzony przed chwilą certyfikat i kliknąć OK. (rys.17). Aby dokończyć proces podpisywania musimy jeszcze zamknąć edytor VBA oraz samego Outlook’a i wybrać „Tak”, gdy Outlook wyświetli komunikat z pytaniem, czy zapisać zmiany dokonane w projekcie VBA.

Rys. 17 Wybór prywatnego certyfikatu do podpisania projektu VBA w Outlook’u.

Teraz ponownie otwieramy program Outlook i próbujemy uruchomić jakieś makro. Jeśli poziom zabezpieczeń ustawiony jest na „Niskie”, makro zostanie uruchomione bez zwracania uwagi na jego podpis. Jeśli poziom jest „Średnie”, to wyświetlona zostanie informacja, że projekt jest elektronicznie podpisany (rys.9). Możemy dodać podpis do zaufanych lub po prostu uruchomić makro ignorując podpis. Jeśli poziom zabezpieczeń ustawiony jest na „Wysokie”, to również wyświetlana jest informacja, że projekt jest podpisany cyfrowo (rys.11). Ale tutaj nie mamy możliwości uruchomienia makra, dopóki nie zaznaczymy opcji „Zawsze ufaj makrom od tego wydawcy”, co spowoduje dodanie cyfrowego podpisu do zaufanych.

Ustawienie poziomu zabezpieczeń makr na „Wysokie” oraz cyfrowe podpisanie projektu VBA zapewnia nam wysoki poziom bezpieczeństwa i gwarantuje, że przypadkowo nie zostanie uruchomione makro pochodzące z niewiadomego źródła. Z tego względu cyfrowe podpisywanie makr w Outlook’u jak i w innych aplikacjach z pakietu Office powinno być ogólnie przyjętą praktyką.

 Do początku strony Do początku strony

 

Podsumowanie

W tej części artykułu dowiedzieliśmy się podstaw na temat instalacji i uruchamiania makr w Outlook’u. Omówione zostało dostosowywanie interfejsu użytkownika - tworzenie własnego paska narzędzi z przyciskami uruchamiającymi makra – dzięki czemu najczęściej używane makra są lepiej dostępne i mogą być szybciej uruchamianie. Zapoznaliśmy się z poziomami zabezpieczeń makr oraz szczegółowym opisem ich znaczenia w różnych wersjach Outlook’a – także w wersji najnowszej 2007. Wreszcie pokazane zostało, w jaki sposób makra mogą być elektronicznie podpisywane, dzięki czemu zapewniony zostaje wysoki poziom bezpieczeństwa.

Wszystkie te informacje mogą posłużyć użytkownikowi do lepszego, bardziej wydajnego i bezpiecznego używania programu Outlook. W kolejnej części artykułu przyjrzymy się omówionym do tej pory zagadnieniom z punktu widzenia administratora sieci, którego interesuje zautomatyzowana konfiguracja wielu komputerów. Dowiemy się, jakie możliwości daje nam w tym względzie program Outlook w połączeniu ze standardowymi funkcjami systemu Windows.

 Do początku strony Do początku strony

 

Materiały dodatkowe

  1. Przykładowe makra dla Microsoft Office Outlook
  2. Macro Security Levels in Office 2003 (j.ang.)
  3. Understanding Macro Security Levels in Office (j.ang.)
  4. Code Signing for Digital IDs (j.ang.)
  5. OL2002: Code Does Not Work After You Distribute a VBA Project (j.ang.)

 Do początku strony Do początku strony

 

Przeczytaj pozostałe części artykułu

 


 

Michał Bednarz (MVP)
Jest absolwentem Politechniki Wrocławskiej wydziału Informatyki i Zarządzania. Jest współwłaścicielem firmy CodeTwo, w której od kilku lat zajmuje się tworzeniem rozwiązań, komponentów, rozszerzeń dla platformy Exchange Server i Microsoft Outlook, aplikacji wspierających pracę grupową oraz aplikacji przeznaczonych na urządzenia mobilne. Jest opiekunem działu dotyczącego serwera Exchange na portalu wss.pl, udziela się na forum portalu, gdzie pomaga użytkownikom w rozwiązywaniu ich problemów. Na stronie www.outlook.pl prowadzi także własne forum oraz pisze porady dotyczące programu Microsoft Outlook. Od 2006 roku posiada tytuł MVP w kategorii Microsoft Office Outlook.
 Do początku strony Do początku strony

Microsoft Office Outlook     Uruchamianie, zabezpieczanie i dystrybucja makr, cz. II