| Termin | Definicja |
|---|---|
| VBA script | VBA script to kod napisany w Visual Basic for Applications, automatyzujący zadania w aplikacjach biurowych. VBA script jako kod automatyzujący aplikacje Microsoft OfficeVBA script, czyli skrypt VBA, jest programem napisanym w języku Visual Basic for Applications. VBA jest środowiskiem programistycznym wbudowanym między innymi w Microsoft Excel, Word, Access, PowerPoint i Outlook. Kod nie działa jako niezależny plik wykonywalny systemu Windows, lecz jest przechowywany w dokumencie, skoroszycie, bazie danych albo szablonie obsługującym makra. Skrypt może wykonywać instrukcje po uruchomieniu makra, po wybraniu polecenia przez użytkownika albo w reakcji na określone zdarzenie aplikacji. W Excelu skrypt VBA może odczytywać i zmieniać wartości komórek, tworzyć arkusze, formatować zakresy, generować wykresy oraz wykonywać obliczenia niedostępne lub niepraktyczne przy użyciu samych formuł. W Wordzie może analizować dokumenty, zamieniać fragmenty tekstu, tworzyć raporty i modyfikować style. W Accessie VBA współpracuje z formularzami, raportami i obiektami bazy danych, a w PowerPoincie może tworzyć i modyfikować slajdy. Zakres działania zależy od modelu obiektowego konkretnej aplikacji. Budowa skryptu i współpraca z modelem obiektowymSkrypt VBA składa się z procedur, funkcji, deklaracji zmiennych i instrukcji sterujących. Procedura Charakterystyczną cechą VBA jest sterowanie obiektami udostępnianymi przez hostującą aplikację. W Excelu kod może odwoływać się do obiektów takich jak Skrypty mogą także korzystać z modułów standardowych, modułów klas i modułów obsługi zdarzeń. Procedura zdarzeniowa w module arkusza lub skoroszytu może uruchamiać się po zmianie komórki, otwarciu skoroszytu albo zapisaniu pliku. Takie automatyczne wywołania trzeba projektować ostrożnie. Na przykład procedura reagująca na zmianę komórki może sama zmienić inną komórkę i ponownie wywołać zdarzenie, jeśli kod nie kontroluje tego mechanizmu. Błędy wykonania należy obsługiwać świadomie, ponieważ bez właściwej obsługi użytkownik może otrzymać komunikat, a procedura może zakończyć się przed wykonaniem dalszych operacji. Format pliku, uruchamianie makr i typowe ograniczeniaW Excelu skoroszyt zawierający kod VBA powinien być zapisany w formacie obsługującym makra, na przykład XLSM. Zwykły format XLSX nie przechowuje projektu VBA; podczas zapisu w tym formacie kod może zostać usunięty po ostrzeżeniu programu. W Wordzie dokument z makrami jest zwykle zapisywany jako DOCM, a szablon z makrami jako DOTM. Samo zapisanie pliku w odpowiednim formacie nie oznacza jeszcze, że skrypt zostanie uruchomiony. Microsoft Office stosuje ustawienia zabezpieczeń makr, a plik pobrany z Internetu lub otrzymany jako załącznik może zostać oznaczony jako pochodzący z niezaufanego źródła. VBA może wykorzystywać odwołania do dodatkowych bibliotek, na przykład do pracy z systemem plików, wyrażeniami regularnymi albo połączeniami z bazą danych. Brak wymaganej biblioteki lub niezgodność wersji może spowodować błąd kompilacji albo wykonania. Różnice między 32-bitową i 64-bitową wersją Office mają znaczenie przede wszystkim wtedy, gdy kod korzysta z deklaracji funkcji Windows API. W takich przypadkach deklaracje wymagają odpowiednich modyfikatorów, w tym Do częstych problemów należą odwołania do nieistniejących arkuszy, błędne zakresy komórek, konwersja pustej wartości na liczbę, nieobsłużone błędy plików oraz nieskończone pętle. Weryfikacja powinna obejmować kompilację projektu w edytorze Visual Basic, wykonanie procedury na kopii dokumentu i sprawdzenie danych wejściowych oraz wynikowych. Istotne jest również ustalenie, czy makro ma działać tylko ręcznie, czy może uruchamiać się przy otwieraniu dokumentu lub zmianie danych. Diagnostyka skryptu VBA w laptopie lub komputerze PCProblemy ze skryptem VBA mogą wynikać z samego kodu, ustawień Microsoft Office, uszkodzonego dokumentu albo niezgodności środowiska. Podczas diagnostyki warto ustalić nazwę aplikacji, jej wersję i architekturę 32-bitową lub 64-bitową, format pliku oraz moment wystąpienia problemu. Jeżeli przyciski makr są nieaktywne, należy sprawdzić, czy dokument został otwarty w trybie chronionym i czy jego źródło jest oznaczone jako niezaufane. Jeżeli pojawia się błąd „Sub or Function not defined” albo „User-defined type not defined”, trzeba sprawdzić nazwy procedur, deklaracje oraz listę referencji projektu. W edytorze VBA można zatrzymać wykonanie na punkcie przerwania, wykonywać kod instrukcja po instrukcji i obserwować wartości zmiennych w oknach Locals, Immediate oraz Watches. Komunikat błędu zawiera numer i opis, ale sam numer nie zawsze wskazuje pierwotną przyczynę. Na przykład błąd podczas zapisu pliku może wynikać z nieprawidłowej ścieżki, braku uprawnień do katalogu, blokady pliku przez inną aplikację albo niepoprawnej nazwy. Rzetelna diagnoza wymaga odtworzenia problemu na konkretnym dokumencie i sprawdzenia, jakie dane oraz obiekty są dostępne w chwili awarii. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, a w ramach diagnostyki oprogramowania można również sprawdzić środowisko Office, skojarzenia plików, instalację dodatków oraz działanie dokumentów zawierających makra VBA. Przed przekazaniem pliku do analizy warto zachować jego kopię i opisać oczekiwany rezultat skryptu, komunikat błędu oraz czynności, po których problem się pojawia. |