Zarządzanie projektami języka Visual Basic for Applications (VBA) i rozpowszechnianie ich

Oryginalny numer KB:   290779

Podsumowanie

Ten artykuł zawiera omówienie sposobu, w jaki program Microsoft Outlook przechowuje kod języka Microsoft Visual Basic for Applications (VBA) i jak można zarządzać wieloma projektami.

Więcej informacji

W przeciwieństwie do innych programów pakietu Microsoft Office program Outlook obsługuje jednocześnie tylko jeden projekt VBA. Makra VBA są przechowywane w pliku o nazwie VbaProject.OTM. Ten plik jest plikiem magazynu produktu i nie jest przeznaczony do dystrybucji. Program Outlook nie zapewnia bezpośredniego środka zarządzania plikami usługi OTM. Kod VBA programu Outlook nie został zaprojektowany pod kątem wdrażania lub rozpowszechniania. Zaprojektowano ją wyłącznie jako osobiste środowisko do tworzenia makr. Projekt Project1 jest zawsze dostępny i skojarzony z programem. Dodawanie kolejnego projektu w Edytorze Visual Basic nie jest możliwe.

Program Project1 jest przechowywany na dysku twardym jako VbaProject.otm w następującym folderze:

<Drive>:\Użytkownicy \ <LogonName> \AppData\Roaming\Microsoft\Outlook

Jeśli chcesz rozpocząć nowy projekt VBA, możesz chcieć wyeksportować wszystkie istniejące moduły i formularze. Jednak zwykle nie jest to podejście realistyczny. Zamiast tego wykonaj następujące czynności:

  1. Zakończ pracę programu Outlook.
  2. Znajdź plik VbaProject.otm na wskazanej ścieżce.
  3. Zmień nazwę pliku na coś znaczącego, na przykład VbaProject-testing.otm.
  4. Uruchom ponownie program Outlook.

Ponieważ program Outlook nie może znaleźć istniejącego pliku projektu, edytor Visual Basic rozpoczyna nowy projekt. Podczas zapisywania zmian w projekcie program Outlook tworzy w tym folderze nowy plik VbaProject.otm. Jeśli chcesz przełączać się między projektami, dodaj jeszcze jeden krok do poprzedniej procedury (w kroku 4):

  1. Zakończ pracę programu Outlook.
  2. Znajdź plik VbaProject.otm.
  3. Zmień nazwę pliku na coś znaczącego, na przykład VbaProject-testing.otm.
  4. Przywróć nazwę pliku, którego chcesz teraz użyć jako VbaProject.otm.
  5. Uruchom ponownie program Outlook.

Jeśli chcesz przenieść projekt VBA z jednego komputera na inny, najpierw określ, gdzie program Outlook przechowuje pliki VbaProject.otm na każdym komputerze. Następnie skopiuj plik OTM z jednego komputera na drugi i umieść go we właściwym folderze. Po ponownym uruchomieniu programu Outlook program znajdzie plik VbaProject.otm i go użyje.

Ważne

Chociaż można to zrobić, usługi pomocy technicznej firmy Microsoft nie obsługują wdrażania rozwiązań w ten sposób. Istnieją znane problemy występujące przy użyciu tej procedury, a program Outlook nie został zaprojektowany do obsługi tej funkcji. Jednym z przykładów mogą być problemy, które mogą mieć wpływ na zgodność z plikami OTM z różnych wersji programu Outlook. Dlatego w przypadku aktualizacji programu Outlook kopie pliku VbaProject.otm mogą nie być już zgodne.

Jeśli opracowujesz rozwiązanie, które zamierzasz rozpowszechnić u więcej niż kilku osób, musisz przekonwertować kod VBA na dodatek COM lub VSTO programu Outlook albo dodatek pakietu Office dla programu Outlook. Jednak opracowanie dodatku zwykle wymaga znacznie większej wiedzy w zakresie programowania niż tworzenie krótkiego makra. Jeśli projekt VBA jest stosunkowo prosty i nie ma zbyt wielu osób, które muszą z niego korzystać, warto rozpowszechnić kod wraz z instrukcjami dotyczącymi jego skonfigurowania.