Converti le macro VBA in Apps Script
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Prima di iniziare
Ti consigliamo di aggiornare le API incompatibili nel codice VBA prima di convertire i file. Per i file con lo stato Supportato esattamente, puoi procedere
al passaggio 1: converti i file.
Modificare le API VBA incompatibili
Per i file con lo stato Supportato con soluzione alternativa o Richiede
indagine, puoi applicare le soluzioni alternative e le correzioni dopo la conversione
in Apps Script, ma ti consigliamo di modificare prima il codice VBA che conosci, prima di convertire i file.
Per ogni API contrassegnata come Supportata con soluzione alternativa o Richiede indagine nel
report di compatibilità, ti consigliamo di:
- Se la funzione eseguita dall'API non è fondamentale per il corretto funzionamento della macro VBA, rimuovila dal codice VBA. In questo caso, modifica il codice per implementare un comportamento simile con le API VBA supportate.
- Per le API con lo stato Supportato con soluzione alternativa, se non riesci a passare alle API VBA supportate, lascia le API VBA così come sono. Dopo la conversione ad Apps Script, nei commenti del codice Apps Script convertito viene consigliata una soluzione alternativa nota per questa API.
- Se il problema deriva da un costrutto di linguaggio non implementato, riscrivi il codice per evitare di utilizzare
questi costrutti.
Per le API con lo stato Richiede indagine, controlla se il tuo codice contiene
una delle seguenti API:
Adodb.connection
CreateObject
: questa API viene spesso utilizzata per connettersi a database e
software di pianificazione delle risorse aziendali.
Shell.execute
OleObject
In caso affermativo, ti consigliamo di non convertire i file a cui appartengono queste API
e di valutare altre opzioni. Queste API tendono a eseguire operazioni critiche
per una macro, come la connessione a un database o l'accesso a una risorsa locale, e
Apps Script in genere non è una buona soluzione.
Passaggio 1: converti i file
- Sul computer, apri Google Drive.
- Nel riquadro laterale a destra, fai clic sul componente aggiuntivo Strumento di conversione delle macro
. Se non vedi il riquadro laterale, fai clic su Mostra pannello laterale chevron_left in basso a destra.
- Fai clic su Aggiungi file e cartelle. Macro Converter riconosce solo i file Excel.
- Scegli i file o le cartelle che vuoi convertire e fai clic su Seleziona. Seleziona
meno di 2000 file alla volta.
- Per modificare la posizione in cui vengono salvati i file convertiti, fai clic su Cambia cartella di destinazione edit e seleziona la cartella che preferisci. In caso contrario, i file vengono salvati nella cartella Il mio Drive.
- Fai clic su Converti.
- Al termine della conversione, fai clic su Visualizza risultati.
Passaggio 2: prova i file convertiti
Eseguire il codice Apps Script
Dopo aver convertito i file, testa le funzioni di Apps Script. Testa i file convertiti
con i dati che utilizzi normalmente con i file Excel. Se possibile, confronta
l'output dei file Fogli convertiti con l'output dei file Excel
originali.
Testare i trigger
Se i tuoi file contengono trigger come onOpen()
, onEdit()
o onClick()
, testa
anche i trigger. Alcuni trigger VBA non vengono convertiti automaticamente e devono essere
gestiti in Apps Script. Vedi Risolvere i problemi comuni.
Esaminare i file ReadMe
Se è stato generato un file ReadMe con il file convertito, esamina i problemi di conversione elencati al suo interno.
- Se i problemi potrebbero essere problematici per i casi che non hai testato, applica le
modifiche consigliate al codice.
- Se hai testato tutti gli scenari possibili e tutto funziona come previsto, probabilmente non devi apportare modifiche.
Passaggio 3: correggi gli errori
Se si verificano errori durante il test dei file, consulta Correggere gli errori nel codice convertito.
Se il codice viene eseguito senza errori, ma il risultato non è quello previsto, apri
il file ReadMe del file. Esamina ogni sezione per determinare la causa del problema e applica la correzione consigliata.
Dopo aver corretto gli errori, testa di nuovo il file per assicurarti che tutto funzioni come
previsto.
Articoli correlati
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-08-31 UTC.
[null,null,["Ultimo aggiornamento 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)"]]