Convertir macros de VBA en Apps Script
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Antes de comenzar
Es posible que desees actualizar las APIs incompatibles en tu código de VBA antes de convertir tus archivos. En el caso de los archivos que tienen el estado Compatible exactamente, puedes continuar con el paso 1: Convierte tus archivos.
Modifica las APIs de VBA incompatibles
En el caso de los archivos que tienen el estado Supported with workaround o Needs investigation, puedes aplicar tus soluciones alternativas y correcciones después de la conversión en Apps Script, pero te recomendamos que primero modifiques el código VBA con el que estás familiarizado antes de convertir tus archivos.
Para cada API marcada como Compatible con solución alternativa o Necesita investigación en el informe de compatibilidad, te recomendamos que hagas lo siguiente:
- Si la función que realiza la API no es fundamental para que la macro de VBA funcione correctamente, quítala del código de VBA. Si es así, cambia tu código para implementar un comportamiento similar con las APIs de VBA compatibles.
- En el caso de las APIs con el estado Admitida con solución alternativa, si no puedes cambiar a las APIs de VBA admitidas, déjalas como están. Después de convertirte a Apps Script, se recomienda una solución alternativa conocida para esta API en los comentarios del código de Apps Script convertido.
- Si el problema proviene de una construcción de lenguaje no implementada, reescribe tu código para evitar usar esas construcciones.
En el caso de las APIs con el estado Needs investigation, verifica si tu código contiene alguna de las siguientes APIs:
Adodb.connection
CreateObject
: Esta API se suele usar para conectarse a bases de datos y software de planificación de recursos empresariales.
Shell.execute
OleObject
Si es así, te recomendamos que no conviertas los archivos a los que pertenecen estas APIs y que investigues otras opciones. Estas APIs suelen realizar operaciones críticas para una macro, como conectarse a una base de datos o acceder a un recurso local, y Apps Script no suele ser una buena solución.
Paso 1: Convierte tus archivos
- En tu computadora, abre Google Drive.
- En el panel lateral derecho, haz clic en el complemento Macro Converter
. Si no ves el panel lateral, haz clic en Mostrar panel lateral chevron_left en la esquina inferior derecha.
- Haz clic en Agregar archivos y carpetas. El complemento Macro Converter solo reconoce archivos de Excel.
- Elige los archivos o las carpetas que quieras convertir y haz clic en Seleccionar. Selecciona menos de 2,000 archivos a la vez.
- Para cambiar la ubicación en la que se guardan los archivos convertidos, haz clic en Cambiar carpeta de destino edit y selecciona la carpeta que quieras. De lo contrario, los archivos se guardan en la carpeta Mi unidad.
- Haz clic en Convertir.
- Cuando se complete la conversión, haz clic en Ver resultados.
Paso 2: Prueba los archivos convertidos
Ejecuta tu código de Apps Script
Después de convertir los archivos, prueba las funciones de Apps Script. Prueba los archivos convertidos con los datos que sueles usar en tus archivos de Excel. Si es posible, compara el resultado de tus archivos de Hojas de cálculo convertidos con el resultado de tus archivos originales de Excel.
Prueba tus activadores
Si tus archivos contienen activadores como onOpen()
, onEdit()
o onClick()
, también debes probarlos. Algunos activadores de VBA no se convertirán automáticamente y deberán abordarse en Apps Script. Consulta Cómo resolver problemas habituales.
Revisa los archivos ReadMe
Si se generó un archivo ReadMe con el archivo convertido, revisa los problemas de conversión que se indican en él.
- Si los problemas pueden ser problemáticos para los casos que no probaste, aplica los cambios recomendados a tu código.
- Si probaste todas las situaciones posibles y todo funciona según lo previsto, probablemente no necesites realizar cambios.
Paso 3: Corrige los errores
Si detectas errores mientras pruebas tus archivos, consulta Cómo corregir los errores en tu código convertido.
Si el código se ejecuta sin errores, pero el resultado no es el esperado, abre el archivo ReadMe. Revisa cada sección para determinar qué causa el problema y aplica la corrección recomendada.
Después de corregir los errores, vuelve a probar el archivo para asegurarte de que todo funcione según lo previsto.
Artículos relacionados
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-08-31 (UTC)
[null,null,["Última actualización: 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)"]]