| Termin | Definicja |
|---|---|
| Import makra | Import makra to proces wczytania kodu VBA z zewnętrznego pliku do dokumentu aplikacji biurowej. Import makra – czym jest i do czego służyImport makra oznacza przeniesienie wcześniej przygotowanego kodu VBA z osobnego pliku albo innego dokumentu do pliku roboczego używanego w aplikacji biurowej. Dzięki temu można ponownie wykorzystać procedury automatyzujące powtarzalne czynności, bez ręcznego przepisywania całego kodu. Makro może między innymi porządkować dane, tworzyć zestawienia, formatować arkusze, przygotowywać dokumenty, wykonywać obliczenia albo reagować na wybrane działania użytkownika. W praktyce import może dotyczyć pojedynczego modułu standardowego, modułu formularza, modułu obiektu arkusza, modułu skoroszytu lub całego zestawu elementów zapisanych w pliku projektu VBA. Najczęściej spotykane rozszerzenia plików używanych przy takim przenoszeniu to Warto rozróżnić import makra od kopiowania tekstu kodu. Przy imporcie zachowana może zostać struktura modułu, jego typ oraz dodatkowe właściwości. Zwykłe wklejenie kodu do edytora może natomiast pominąć elementy formularza, deklaracje modułowe lub ustawienia, które mają znaczenie dla działania procedury. Przed rozpoczęciem pracy powinno się ustalić, czy przenoszony jest sam kod, czy również formularze, klasy, zmienne publiczne i zależności projektu. Import makra a kontekst techniczny i różnice między plikamiNajwiększe znaczenie ma format dokumentu, do którego ma zostać zaimportowany kod. Pliki pozbawione obsługi makr mogą usunąć projekt VBA podczas zapisu albo uniemożliwić jego prawidłowe przechowanie. W arkuszach kalkulacyjnych zwykle wybiera się format przeznaczony dla skoroszytów z makrami, natomiast w dokumentach tekstowych lub prezentacjach trzeba zwrócić uwagę na odpowiedni typ pliku obsługujący kod. Przy zapisywaniu dokumentu w innym formacie może pojawić się ostrzeżenie o utracie projektu, którego nie należy ignorować. Istotne są także różnice między wersjami środowiska VBA oraz między instalacjami aplikacji. Kod korzystający z określonej biblioteki może działać na jednym komputerze, a na innym zgłaszać brak odwołania. Problem może dotyczyć bibliotek systemowych, komponentów dodatkowych, sterowników, deklaracji funkcji systemowych albo odmiennej architektury aplikacji. W starszym kodzie spotyka się deklaracje wymagające dostosowania do środowiska 64-bitowego. W takim przypadku samo ponowne zaimportowanie pliku nie rozwiązuje problemu, ponieważ konieczna jest analiza deklaracji i sposobu wywoływania funkcji. Import z pliku eksportu różni się od przeniesienia makra między dokumentami. Plik eksportu modułu jest zwykle łatwiejszy do kontroli i archiwizacji, natomiast kopiowanie całego projektu może wymagać dodatkowego sprawdzenia zależności. Moduły formularzy mogą odwoływać się do kontrolek, nazw pól oraz procedur zdarzeniowych. Moduły klas mogą wymagać właściwego sposobu tworzenia obiektów, a kod umieszczony w module arkusza może reagować na zdarzenia charakterystyczne dla konkretnego dokumentu. Dlatego przy porównywaniu metod należy brać pod uwagę nie tylko szybkość przeniesienia, lecz również kompletność i możliwość późniejszego utrzymania rozwiązania. Znaczenie ma również poziom zaufania do źródła pliku. Makro może wykonywać operacje na dokumentach, odczytywać dane, tworzyć pliki lub uruchamiać inne elementy środowiska. Kod pochodzący z nieznanego źródła powinien zostać najpierw przeanalizowany w kopii dokumentu. Nie powinno się włączać obsługi makr wyłącznie dlatego, że dokument informuje o jej wyłączeniu. Komunikat bezpieczeństwa jest sygnałem do weryfikacji pochodzenia pliku, zawartości projektu i oczekiwanego działania. Import makra – typowe problemy i objawy błędnego działaniaJednym z częstych problemów jest brak widocznego modułu po zakończeniu importu. Przyczyną może być wybranie niewłaściwego miejsca docelowego, ograniczenie dostępu do projektu VBA, niezgodność formatu pliku albo przeniesienie wyłącznie części elementów. Czasami moduł został dodany poprawnie, lecz procedura nie pojawia się na liście makr, ponieważ ma argumenty, jest zadeklarowana jako prywatna lub znajduje się w module, którego nie można uruchamiać w ten sposób. Inny typ błędu wiąże się z odwołaniami do elementów konkretnego dokumentu. Kod może oczekiwać arkusza o określonej nazwie, tabeli o określonym identyfikatorze, zakresu nazwanego lub formularza, którego nie ma w nowym pliku. W efekcie pojawia się błąd wykonania, pusta odpowiedź albo zapis w nieodpowiednim miejscu. Pomocne bywa sprawdzenie, czy nazwy arkuszy, kolumn, kontrolek i zakresów odpowiadają tym, które przewidziano w kodzie. Problemy mogą wynikać także z ustawień zabezpieczeń. Projekt może być oznaczony jako zablokowany, plik może pochodzić z lokalizacji uznanej za niezaufaną, a polityka aplikacji może ograniczać dostęp do modelu obiektowego VBA. Niekiedy użytkownik widzi kod w edytorze, ale jego wykonanie jest zatrzymywane przy pierwszej procedurze. W takiej sytuacji należy rozdzielić problem importu od problemu uruchamiania i sprawdzić oba obszary osobno. Do typowych objawów należą również błędy kompilacji, komunikaty o nieznanej bibliotece, brak formularza, niewłaściwe działanie przycisków oraz zatrzymanie procedury na instrukcji odwołującej się do nieistniejącego obiektu. Przydatne może być użycie funkcji kompilacji projektu w edytorze VBA, przejrzenie zaznaczonych deklaracji oraz uruchomienie procedury krok po kroku na kopii dokumentu. Należy zachować oryginalny plik i zapisać kopię przed każdą większą zmianą. Import makra – praktyczne wskazówki przed i po wczytaniu koduPrzed importem powinno się ustalić, z jakiego programu pochodzi kod, w jakim formacie został zapisany oraz czy obejmuje tylko moduł, czy także formularz i klasy. Dobrą praktyką jest utworzenie kopii dokumentu docelowego i zapisanie pliku źródłowego w osobnym miejscu. Warto również zanotować nazwy modułów, procedur uruchamianych ręcznie oraz zdarzeń, które mają działać automatycznie. Po wczytaniu kodu należy sprawdzić strukturę projektu, nazwy elementów i listę odwołań. Następnie można wykonać kompilację oraz test na niewielkim, nieistotnym zestawie danych. Jeśli makro modyfikuje dokument, powinno się zweryfikować zarówno wynik prawidłowy, jak i zachowanie przy pustych komórkach, niepełnych rekordach, nieoczekiwanych znakach oraz braku wymaganych arkuszy. Test powinien obejmować także cofnięcie zmian albo odtworzenie dokumentu z kopii. Nie zaleca się importowania kodu bez sprawdzenia instrukcji otwierania plików, zapisu danych, wysyłania wiadomości, komunikacji z innymi aplikacjami ani wywoływania poleceń systemowych. Takie procedury mogą być potrzebne w legalnym rozwiązaniu, ale powinny być zrozumiałe i zgodne z zakładanym zastosowaniem. Jeżeli kod jest przeznaczony dla wielu osób, warto ograniczyć zależności od indywidualnych ścieżek, nazw użytkowników i ustawień konkretnego komputera. Przydatne może być także prowadzenie krótkiej dokumentacji: skąd pochodzi moduł, kiedy został zaimportowany, jakie elementy obejmuje i jakie zmiany wprowadzono po imporcie. Ułatwia to późniejsze odtworzenie środowiska oraz rozpoznanie, czy błąd pojawił się w kodzie, dokumencie, ustawieniach bezpieczeństwa czy zależnościach. W przypadku ważnych arkuszy i dokumentów powinno się przechowywać wersję bez makra oraz wersję roboczą z opisem zmian. Import makra – kiedy zgłosić się do serwisu komputerowegoPomoc serwisowa może być uzasadniona, gdy import kończy się błędem, projekt znika po zapisaniu pliku, dokument nie otwiera się prawidłowo albo kod działa tylko na jednym komputerze. Wsparcie przydaje się również wtedy, gdy nie jest jasne, czy problem dotyczy formatu dokumentu, ustawień zabezpieczeń, uszkodzonego profilu aplikacji, brakujących bibliotek czy samego kodu VBA. Przed przekazaniem pliku warto przygotować kopię dokumentu, opis oczekiwanego działania oraz informację o komunikacie wyświetlanym podczas importu lub uruchamiania. W przypadku podejrzenia uszkodzenia pliku, niepożądanego działania makra albo utraty elementów dokumentu nie powinno się wielokrotnie zapisywać tego samego pliku bez kopii. Serwis może przeanalizować dokument roboczy, sprawdzić dostępność projektu, ocenić zgodność środowiska i pomóc oddzielić usterkę aplikacji od błędu w procedurze. Takie rozpoznanie jest szczególnie przydatne, gdy import ma zostać wykonany na komputerze używanym do codziennej pracy i nie ma możliwości długiego testowania metodą prób. W Warszawie wsparcie w takich przypadkach świadczy Warszawskie Pogotowie Komputerowe 24/7, dostępne pod numerem +48 22 100 48 29. Przy zgłoszeniu dobrze jest określić nazwę aplikacji, format pliku, pochodzenie modułu oraz moment, w którym pojawia się problem. Pozwala to sprawniej ustalić zakres analizy i ograniczyć ryzyko zmian wykonanych bez zachowania kopii bezpieczeństwa. |