Przekonwertuj makra VBA na Apps Script

Zanim zaczniesz

Przed konwersją plików warto zaktualizować niezgodne interfejsy API w kodzie VBA. W przypadku plików ze stanem Dokładnie obsługiwane możesz przejść do kroku 1. Konwertuj pliki.

Modyfikowanie niezgodnych interfejsów VBA

W przypadku plików ze stanem Obsługiwane z objazdem lub Wymaga zbadania możesz zastosować obejścia i poprawki po konwersji w Apps Script, ale przed konwersją zalecamy zmodyfikowanie kodu VBA, z którym się zapoznasz, zanim przekształcisz pliki.

W przypadku każdego interfejsu API oznaczonego w raporcie zgodności jako Obsługiwany z objazdem lub Wymaga zbadania zalecamy:

  • Jeśli funkcja wykonywana przez interfejs API nie jest niezbędna do prawidłowego działania makra VBA, usuń ją z kodu VBA. Jeśli tak, zmień kod, aby zaimplementować podobne działanie za pomocą obsługiwanych interfejsów VBA API.
  • Jeśli nie możesz przejść na obsługiwane interfejsy VBA, w przypadku interfejsów z tego interfejsu z oznaczeniem Obsługiwane z obejściem pozostaw je w obecnej postaci. Po przekonwertowaniu na Apps Script w komentarzach do przekonwertowanego kodu Apps Script znajdziesz znane obejście dla tego interfejsu API.
  • Jeśli problem wynika z niewdrożonego konstruktu językowego, przepisz kod, aby uniknąć użycia takich konstruktów.
  • W przypadku interfejsów API o stanie Wymaga sprawdzenia sprawdź, czy Twój kod zawiera któryś z tych interfejsów API:

    • Adodb.connection
    • CreateObject: ten interfejs API jest często używany do łączenia się z bazą danych i oprogramowaniem do planowania zasobów przedsiębiorstwa.
    • Shell.execute
    • OleObject

    Jeśli tak, nie zalecamy konwertowania plików, do których należą te interfejsy API, i rozważania innych opcji. Te interfejsy API zwykle wykonują kluczowe operacje dla makr, takie jak połączenie z bazą danych lub dostęp do zasobu lokalnego, a Apps Script nie jest zwykle dobrym rozwiązaniem.

Krok 1. Przekonwertuj pliki

  1. Na komputerze otwórz Dysk Google.
  2. W panelu po prawej stronie kliknij dodatek Konwerter makr Ikona Konwertora makro. Jeśli nie widzisz panelu bocznego, w prawym dolnym rogu kliknij Pokaż panel boczny .
  3. Kliknij Dodaj pliki i foldery. Konwerter makr rozpoznaje tylko pliki Excela.
  4. Wybierz pliki lub foldery, które chcesz przekonwertować, i kliknij Wybierz. Wybierz mniej niż 2000 plików naraz.
  5. Aby zmienić lokalizację zapisywania przekonwertowanych plików, kliknij Zmień folder docelowy  i wybierz odpowiedni folder. W przeciwnym razie pliki są zapisywane w folderze Mój Dysk.
  6. Kliknij Konwertuj.
  7. Po zakończeniu konwersji kliknij Wyświetl wyniki.

Krok 2. Sprawdź przekonwertowane pliki

Uruchamianie kodu Apps Script

Po przekonwertowaniu plików przetestuj funkcje Apps Script. Przetestuj przekonwertowane pliki za pomocą danych, których zwykle używasz w plikach Excela. W miarę możliwości porównaj dane wyjściowe przekonwertowanych plików Arkuszy z danymi wyjściowymi oryginalnych plików Excela.

Testowanie aktywatorów

Jeśli pliki zawierają wyzwalacze takie jak onOpen(), onEdit() lub onClick(), przetestuj też te wyzwalacze. Niektóre wyzwalacze VBA nie zostaną przekonwertowane automatycznie i trzeba je zaadresować w Apps Script. Zobacz artykuł Rozwiązywanie typowych problemów.

Sprawdzanie plików ReadMe

Jeśli wraz z przetworzonym plikiem został wygenerowany plik ReadMe, zapoznaj się z problemami związanymi z konwersją wymienionymi w tym pliku.

  • Jeśli problemy mogą być problematyczne w przypadkach, które nie zostały jeszcze przetestowane, zastosuj zalecane zmiany w kodzie.
  • Jeśli przetestujesz wszystkie możliwe scenariusze i wszystko działa zgodnie z oczekiwaniami, prawdopodobnie nie musisz wprowadzać żadnych zmian.

Krok 3. Napraw błędy

Jeśli podczas testowania plików wystąpią błędy, przeczytaj artykuł Poprawianie błędów w przetworzonym kodzie.

Jeśli kod działa bez błędów, ale wynik jest inny niż oczekiwany, otwórz plik ReadMe. Przejrzyj każdą sekcję, aby dowiedzieć się, co powoduje problem, i zastosować zalecaną poprawkę.

Po poprawieniu błędów przetestuj plik ponownie, aby mieć pewność, że wszystko działa zgodnie z oczekiwaniami.