| Termin | Definicja |
|---|---|
| Konwersja makr | Konwersja makr to próba przeniesienia kodu automatyzującego do innego formatu, często nieudana ze względu na różnice środowisk. Konwersja makr – czym jest i jaki ma celKonwersja makr oznacza dostosowanie istniejących automatyzacji do innego środowiska, programu, języka skryptowego albo sposobu obsługi danych. Makro może działać jako krótki zestaw poleceń zapisany w arkuszu kalkulacyjnym, procedura uruchamiana w edytorze dokumentów, skrypt reagujący na zmianę komórki lub większy fragment kodu odpowiedzialny za powtarzalne czynności. Samo przeniesienie tekstu kodu zwykle nie wystarcza, ponieważ automatyzacja korzysta nie tylko z instrukcji, lecz także z określonych obiektów, bibliotek, uprawnień i zasad działania aplikacji. Przy prawidłowo zaplanowanej konwersji najpierw ustala się, co makro ma osiągać. Dopiero później wybiera się sposób odtworzenia tej funkcji w nowym miejscu. Może to oznaczać zmianę składni, zastąpienie niedostępnych poleceń innymi, przebudowę obsługi plików albo całkowite napisanie procedury od początku. Istotne jest zachowanie efektu pracy, a nie mechaniczne kopiowanie każdego wiersza. Makra często powstają stopniowo. Najpierw automatyzowana jest jedna czynność, następnie dodaje się kolejne warunki, formularze, przyciski i odwołania do plików. Po pewnym czasie kod może zawierać zależności, których nie widać na pierwszy rzut oka. Z tego powodu konwersja wymaga rozpoznania całego procesu, a nie tylko otwarcia pliku i sprawdzenia, czy procedura daje się uruchomić. Konwersja makr w różnych środowiskach i porównanie podejśćNajczęściej porównuje się makra działające w różnych wersjach tego samego pakietu biurowego, w odmiennych aplikacjach albo w narzędziach o podobnym przeznaczeniu. Dwa programy mogą pozwalać na tworzenie tabel, filtrowanie danych i generowanie raportów, lecz korzystać z innych nazw obiektów oraz innych modeli zdarzeń. Polecenie odwołujące się do arkusza w jednym środowisku nie musi mieć odpowiednika o identycznej strukturze w drugim. Ważną różnicą jest sposób przechowywania danych. Jedno rozwiązanie może pracować na pojedynczym skoroszycie, a inne wymagać osobnych plików, połączeń do źródła danych albo jawnego wskazania zakresów. Znaczenie mają także formaty dat, separator dziesiętny, kodowanie znaków i sposób zapisu pustych wartości. Błąd w tych obszarach może być niewidoczny przy małym zestawie danych, ale ujawnić się podczas tworzenia większego raportu. Można wyróżnić trzy podstawowe strategie. Pierwsza polega na bezpośrednim przepisaniu kodu i sprawdzeniu kolejnych błędów. Jest szybka, lecz podatna na pominięcie zależności. Druga zakłada przygotowanie mapy funkcji: każda procedura, formularz i odwołanie otrzymują swój odpowiednik w nowym środowisku. Trzecia polega na odtworzeniu procesu biznesowego przy użyciu dostępnych narzędzi, nawet jeżeli kod końcowy wygląda zupełnie inaczej. W praktyce druga i trzecia metoda dają łatwiejszy do utrzymania rezultat. Nie każda automatyzacja powinna być przenoszona jeden do jednego. Czasami część makra można zastąpić wbudowaną funkcją, filtrem, regułą lub prostym formularzem. Innym razem potrzebne jest rozdzielenie dużej procedury na mniejsze moduły. Takie podejście ułatwia późniejsze testy i ogranicza ryzyko, że zmiana jednego fragmentu zatrzyma cały proces. Konwersja makr a typowe problemy techniczneJednym z częstych problemów są odwołania do bibliotek, dodatków oraz funkcji dostępnych tylko w określonej konfiguracji. Kod może uruchamiać się na jednym stanowisku, ponieważ znajduje tam wymagany komponent, a na innym zatrzymywać się przy pierwszym poleceniu zależnym od tej biblioteki. Należy wtedy ustalić, czy można użyć zamiennika, dołączyć wymagany element, czy też przebudować daną część procedury. Trudności sprawiają również ścieżki do plików. Makro zapisane na jednym komputerze może wskazywać konkretny dysk, folder użytkownika albo nazwę pliku pomocniczego. Po przeniesieniu automatyzacji taka ścieżka może nie istnieć. Bezpieczniejszym rozwiązaniem jest pobieranie lokalizacji z ustawień, wybór pliku przez okno dialogowe lub zastosowanie ścieżek względnych, o ile struktura folderów na to pozwala. Problematyczne bywają zdarzenia, czyli reakcje na otwarcie dokumentu, zmianę komórki, kliknięcie przycisku lub zapis pliku. Różne środowiska mogą uruchamiać podobne zdarzenia w innej kolejności. Jeżeli procedura zakłada, że określony arkusz jest już aktywny, po konwersji może odwołać się do niewłaściwego obiektu. Dlatego podczas testów sprawdza się zarówno zwykłe uruchomienie, jak i nietypowe kolejności działań. Osobną kategorię stanowią błędy danych. Makro może zakładać konkretny układ kolumn, obecność nagłówków, stałą liczbę wierszy albo jednolity format dat. Wystarczy dodatkowa kolumna, pusty rekord lub zmiana nazwy arkusza, aby wynik był niepełny. Dobrą praktyką jest przygotowanie danych testowych obejmujących rekordy poprawne, puste, powtarzalne oraz nietypowe. Nie należy pomijać kwestii bezpieczeństwa. Pliki zawierające makra mogą być blokowane przez ustawienia aplikacji, ochronę dokumentu lub politykę systemową. Samo obniżenie poziomu zabezpieczeń nie jest właściwą metodą naprawy. Lepiej rozpoznać źródło blokady, zweryfikować pochodzenie pliku i ustalić, jakie uprawnienia są rzeczywiście potrzebne do działania procedury. Konwersja makr – praktyczne wskazówki przed rozpoczęciemPrzed rozpoczęciem prac warto wykonać kopię pliku źródłowego oraz zachować osobną wersję roboczą. Następnie przydatne jest spisanie wszystkich czynności wykonywanych przez makro: pobierania danych, czyszczenia tabel, tworzenia zestawień, zapisywania dokumentów i wysyłania wyników. Taki opis pomaga odróżnić funkcje niezbędne od elementów, które pojawiły się przypadkowo albo nie są już używane. Dobrym krokiem jest przygotowanie małego zestawu kontrolnego. Powinien zawierać dane typowe oraz przypadki graniczne, takie jak brak wartości, długi tekst, powtarzające się identyfikatory czy nieoczekiwany format daty. Wynik starej wersji zapisuje się, a następnie porównuje z efektem uzyskanym po konwersji. Sam fakt, że procedura kończy się bez komunikatu o błędzie, nie oznacza jeszcze, że wykonała zadanie poprawnie. W kodzie warto szukać nazw arkuszy, zakresów, formularzy, przycisków i plików zewnętrznych. Należy również sprawdzić, czy makro nie korzysta z ukrytych arkuszy, nazwanych zakresów albo ustawień zapisanych poza głównym dokumentem. Jeżeli procedura wykonuje wiele zadań naraz, rozsądne jest testowanie jej etapami. Dzięki temu łatwiej wskazać miejsce, w którym pojawia się różnica. Przydatne jest także dodanie czytelnych komunikatów błędów oraz rejestrowanie podstawowych etapów działania. Użytkownik powinien wiedzieć, czy problem dotyczy braku pliku, nieprawidłowych danych, zablokowanej funkcji czy niezgodnego formatu. Komunikat ogólny, informujący jedynie o przerwaniu działania, utrudnia późniejszą obsługę i zwiększa liczbę powtórnych zgłoszeń. Jeżeli makro jest częścią codziennego procesu, po konwersji należy ustalić sposób aktualizacji. Warto zapisać, gdzie znajduje się kod, kto może go zmieniać i jakie dane wejściowe są wymagane. Przejrzyste nazwy, krótkie moduły oraz opis najważniejszych założeń ułatwiają dalsze modyfikacje, zwłaszcza gdy autor pierwotnego rozwiązania nie jest już dostępny. Kiedy zgłosić konwersję makr do serwisu komputerowegoZgłoszenie do serwisu komputerowego może być zasadne, gdy makro przestało działać po aktualizacji programu, zmianie systemu, przeniesieniu plików albo wymianie komputera. Warto skorzystać z pomocy również wtedy, gdy automatyzacja działa tylko na jednym stanowisku, tworzy niepełne raporty, zatrzymuje się przy określonych danych lub wyświetla niezrozumiałe komunikaty. Szczególnie ważne jest szybkie rozpoznanie sytuacji, w której procedura modyfikuje albo nadpisuje pliki bez oczekiwanego rezultatu. Do zgłoszenia dobrze dołączyć kopię pliku roboczego, opis oczekiwanego wyniku oraz informację o tym, co zmieniło się przed pojawieniem się problemu. Przydatne są także przykładowe dane, zrzut komunikatu i wskazanie czynności, po której następuje przerwanie. Nie trzeba przekazywać całego archiwum dokumentów, jeżeli do odtworzenia problemu wystarczy odseparowany plik testowy. W Warszawie takie zadania może przyjąć Warszawskie Pogotowie Komputerowe 24/7, zwłaszcza gdy konwersja makr łączy się z problemem systemowym, konfiguracją aplikacji lub błędnym działaniem komputera. Przed rozpoczęciem prac warto określić, czy celem ma być wierne odtworzenie dotychczasowej automatyzacji, czy też uproszczenie procesu i przygotowanie rozwiązania łatwiejszego do dalszego używania. Konwersja makr nie powinna kończyć się na usunięciu pojedynczego komunikatu. Najważniejsze jest sprawdzenie kompletnego przebiegu pracy: od wczytania danych, przez ich przetworzenie, aż po zapis i prezentację wyniku. Dopiero test wykonany na rzeczywistym, lecz bezpiecznie przygotowanym przykładzie pozwala ocenić, czy przeniesiona automatyzacja spełnia swoje zadanie. |