Przekonwertuj makra VBA na Apps Script
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Zanim zaczniesz
Przed przekonwertowaniem plików warto zaktualizować w kodzie VBA niezgodne interfejsy API. W przypadku plików o stanie Dokładnie obsługiwany możesz przejść do kroku 1: przekonwertuj pliki.
Modyfikowanie niezgodnych interfejsów API VBA
W przypadku plików o stanie Obsługiwane z obejściem lub Wymaga zbadania możesz zastosować obejścia i poprawki po konwersji w Apps Script, ale zalecamy, aby przed konwersją plików najpierw zmodyfikować kod VBA, który znasz.
W przypadku każdego interfejsu API oznaczonego w raporcie zgodności jako Obsługiwany z obejściem lub Wymaga sprawdzenia zalecamy wykonanie tych czynności:
- 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 jest, zmień kod, aby zaimplementować podobne działanie za pomocą obsługiwanych interfejsów API VBA.
- Jeśli w przypadku interfejsów API o stanie Obsługiwane z obejściem nie możesz przejść na obsługiwane interfejsy VBA API, pozostaw interfejsy VBA API bez zmian. Po przekonwertowaniu na Apps Script w komentarzach przekonwertowanego kodu Apps Script zalecane jest znane obejście tego interfejsu API.
- Jeśli problem wynika z niezastosowanej konstrukcji językowej, zmień kod, aby uniknąć używania tych konstrukcji.
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 bazami 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 zachęcamy do zbadania innych opcji. Te interfejsy API zwykle wykonują krytyczne operacje dla makra, takie jak łączenie się z bazą danych lub uzyskiwanie dostępu do zasobu lokalnego, a Apps Script nie jest w tym przypadku dobrym rozwiązaniem.
Krok 1. Przekonwertuj pliki
- Na komputerze otwórz Dysk Google.
- W panelu bocznym po prawej stronie kliknij dodatek Macro Converter
. Jeśli nie widzisz panelu bocznego, w prawym dolnym rogu kliknij Pokaż panel boczny chevron_left.
- Kliknij Dodaj pliki i foldery. Konwerter makr rozpoznaje tylko pliki Excela.
- Wybierz pliki lub foldery, które chcesz przekonwertować, i kliknij Wybierz. Wybieraj mniej niż 2000 plików naraz.
- Aby zmienić miejsce zapisywania przekonwertowanych plików, kliknij Zmień folder docelowy edit i wybierz odpowiedni folder. W przeciwnym razie pliki zostaną zapisane w folderze Mój dysk.
- Kliknij Konwertuj.
- Po zakończeniu konwersji kliknij Wyświetl wyniki.
Krok 2. Przetestuj przekonwertowane pliki
Uruchamianie kodu Apps Script
Po przekonwertowaniu plików przetestuj funkcje Apps Script. Przetestuj przekonwertowane pliki, używając 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 Twoje pliki zawierają aktywatory, takie jak onOpen()
, onEdit()
lub onClick()
, przetestuj je. Niektóre wyzwalacze VBA nie zostaną przekonwertowane automatycznie i muszą zostać
przetworzone w Apps Script. Zobacz Rozwiązywanie typowych problemów.
Sprawdzanie plików ReadMe
Jeśli wraz z przekonwertowanym plikiem wygenerowano plik ReadMe, sprawdź problemy z konwersją wymienione w tym pliku.
- Jeśli problemy mogą wystąpić w przypadkach, których nie przetestowano, zastosuj zalecane zmiany w kodzie.
- Jeśli przetestujesz wszystkie możliwe scenariusze i wszystko będzie 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, zapoznaj się z artykułem Rozwiązywanie błędów w przekonwertowanym kodzie.
Jeśli kod działa bez błędów, ale wynik nie jest zgodny z oczekiwaniami, otwórz plik ReadMe. Przejrzyj każdą sekcję, aby ustalić przyczynę problemu i zastosować zalecane rozwiązanie.
Po naprawieniu błędów ponownie przetestuj plik, aby upewnić się, że wszystko działa zgodnie z oczekiwaniami.
Powiązane artykuły
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-08-31 UTC.
[null,null,["Ostatnia aktualizacja: 2025-08-31 UTC."],[[["\u003cp\u003eThe Macro Converter add-on helps you convert your VBA macros to Apps Script, allowing them to run in Google Sheets.\u003c/p\u003e\n"],["\u003cp\u003eBefore converting, review the compatibility report and modify or remove incompatible VBA APIs for better conversion results.\u003c/p\u003e\n"],["\u003cp\u003eThe conversion process involves adding files to the add-on, initiating the conversion, and then testing the converted Apps Script functions and triggers in Google Sheets.\u003c/p\u003e\n"],["\u003cp\u003eIf errors occur or the results are unexpected, consult the generated ReadMe files and the troubleshooting documentation to fix issues and ensure proper functionality.\u003c/p\u003e\n"],["\u003cp\u003eAfter successful conversion and testing, your macros will be operational within Google Sheets, leveraging the capabilities of Apps Script.\u003c/p\u003e\n"]]],[],null,["# Convert VBA macros to Apps Script\n\nBefore you begin\n----------------\n\nYou might want to update incompatible APIs in your VBA code before you convert\nyour files. For files that have the status *Supported exactly* , you can proceed\nto [Step 1: Convert your files](/apps-script/guides/macro-converter/convert-files#step_1_convert_your_files).\n\n### Modify incompatible VBA APIs\n\nFor files that have the status *Supported with workaround* or *Needs\ninvestigation*, you can apply your workarounds and fixes after the conversion\nin Apps Script, but we recommend that you modify the VBA code that you're\nfamiliar with first, before you convert your files.\n\nFor each API marked as *Supported with workaround* or *Needs investigation* in\nthe compatibility report, we recommend the following:\n\n- If the function performed by the API isn't critical to your VBA macro working properly, remove it from your VBA code. If it is, change your code to implement a similar behavior with [supported VBA APIs](/apps-script/guides/macro-converter/compatible-vba-apis).\n- For APIs with the status *Supported with workaround*, if you can't switch to supported VBA APIs, leave your VBA APIs as is. After you convert to Apps Script, a known workaround for this API is recommended in the comments of the converted Apps Script code.\n- If the issue is coming from an [unimplemented language construct](/apps-script/guides/macro-converter/fix-conversion-errors#unimplemented_language_constructs), rewrite your code to avoid using those constructs.\n- For APIs with the status *Needs investigation*, check if your code contains\n any of the following APIs:\n\n - `Adodb.connection`\n - `CreateObject`: This API is often used to connect to database and enterprise resource planning software.\n - `Shell.execute`\n - `OleObject`\n\n If yes, we recommend that you don't convert the files these APIs belong to\n and investigate other options. These APIs tend to perform critical operations\n for a macro, like connecting to a database or accessing a local resource, and\n Apps Script is generally not a good solution.\n\nStep 1: Convert your files\n--------------------------\n\n1. On your computer, open [Google Drive](https://drive.google.com/drive/my-drive).\n2. On the right side panel, click the Macro Converter add-on . If you don't see the side panel, at the bottom right, click Show side panel chevron_left.\n3. Click **Add files and folders**. The Macro Converter only recognizes Excel files.\n4. Choose the files or folders you want to convert and click **Select**. Select fewer than 2,000 files at a time.\n5. To change where your converted files are saved, click Change destination folder edit, and select the folder you want. Otherwise, the files are saved in your MyDrive folder.\n6. Click **Convert**.\n7. When the conversion completes, click **View results**.\n\nStep 2: Test your converted files\n---------------------------------\n\n### Run your Apps Script code\n\nAfter you convert your files, test the Apps Script functions. Test the converted\nfiles with the data you normally use with your Excel files. If possible, compare\nthe output of your converted Sheets files with the output of your original Excel\nfiles.\n\n### Test your triggers\n\nIf your files contain triggers like `onOpen()`, `onEdit()`, or `onClick()`, test\nyour triggers, too. Some VBA triggers won't convert automatically and need to be\naddressed in Apps Script. See [Address common issues](/apps-script/guides/macro-converter/address-conversion-issues).\n\n### Review ReadMe files\n\nIf a ReadMe file was generated with your converted file, review the conversion\nissues listed within the ReadMe file.\n\n- If the issues might be problematic for cases you haven't tested, apply the recommended changes to your code.\n- If you've tested all possible scenarios and everything works as intended, you probably don't need to make changes.\n\nStep 3: Fix errors\n------------------\n\nIf you run into errors while testing your files, see [Fix errors in your\nconverted code](/apps-script/guides/macro-converter/fix-conversion-errors).\n\nIf the code runs without errors, but the result isn't what you expected, open\nthe file's ReadMe file. Review each section to help determine what's causing the\nissue and apply the recommended fix.\n\nAfter you fix errors, test the file again to make sure everything works as\nintended.\n\nRelated articles\n----------------\n\n- [Macro Converter add-on overview](/apps-script/guides/macro-converter/overview)\n- [Determine if VBA macros are compatible](/apps-script/guides/macro-converter/compatibility-report)\n- [Fix errors in your converted code](/apps-script/guides/macro-converter/fix-conversion-errors)\n- [Address common issues](/apps-script/guides/macro-converter/address-conversion-issues)\n- [Watch Macro Converter tutorials](/apps-script/guides/macro-converter/tutorials)\n- [List of compatible VBA APIs](/apps-script/guides/macro-converter/compatible-vba-apis)"]]