En este tutorial te voy a mostrar cómo crear un sistema automatizado en Google Sheets que, mediante Google Apps Script, te permite crear una carpeta principal y múltiples subcarpetas en Google Drive, todo controlado desde un menú personalizado en tu hoja de cálculo. Este método es ideal para quienes desean organizar automáticamente sus archivos y carpetas en Drive sin tener que hacerlo manualmente, facilitando la gestión de proyectos, clientes o cualquier otra estructura que requiera orden y rapidez. Además, aprenderás a guardar la identificación (ID) de cada carpeta creada, lo que te permitirá automatizar aún más procesos en el futuro.
Si prefieres ver el tutorial en video, te lo dejo arriba. Ahora, te explico paso a paso cómo lo hago yo y cómo puedes replicarlo fácilmente en tu propio Google Sheets.
Configurando la hoja de cálculo en Google Sheets
Primero, necesitas tener una hoja de cálculo que te sirva como panel de control. Yo suelo llamarla «config» o «configuración». En ella, vas a definir:
- Celda B2: nombre de la carpeta maestra que quieres crear.
- Celda C2: aquí se guardará automáticamente la identificación (ID) de la carpeta maestra creada.
- Celda B4 en adelante: nombres de las carpetas secundarias que quieras crear dentro de la carpeta maestra.
| B | C |
|---|---|
| Nombre Carpeta Maestra | ID Carpeta Maestra |
| Maestra de Maestras | (se llena automáticamente) |
| Carpetas Secundarias | |
| Carpeta Uno |
Creando el menú personalizado en Google Sheets
Para facilitar el proceso, agrego un menú personalizado en Sheets desde el cual ejecuto las funciones de creación de carpetas. Así es como lo hago:
function onOpen() {
var ui = SpreadsheetApp.getUi();
ui.createMenu('Gestión Carpetas')
.addItem('Crear Carpeta Maestra', 'crearCarpetaMaestra')
.addItem('Crear Sistema de Carpetas', 'crearCarpetasSecundarias')
.addToUi();
}
Este código añade un menú llamado Gestión Carpetas con dos opciones: crear la carpeta maestra y crear las carpetas secundarias.
Función para crear la carpeta maestra y guardar su ID
La función crearCarpetaMaestra toma el nombre de la celda B2, crea la carpeta en tu Google Drive y guarda el ID en la celda C2. Así lo hago yo:
function crearCarpetaMaestra() {
var libro = SpreadsheetApp.getActiveSpreadsheet();
var hoja = libro.getSheetByName('config');
var nombreMaestro = hoja.getRange('B2').getValue();
var carpeta = DriveApp.createFolder(nombreMaestro);
hoja.getRange('C2').setValue(carpeta.getId());
}
Con esto, cada vez que ejecutes la función, tendrás la carpeta creada y su ID a la mano, lo que te facilita automatizar más tareas después.
Función para crear carpetas secundarias dentro de la carpeta maestra
Ahora, para crear subcarpetas, primero necesitas el ID de la carpeta maestra (que ya tienes en C2). Luego, recorres la lista de nombres de carpetas secundarias (por ejemplo, desde B4 hacia abajo) y creas cada una dentro de la carpeta principal:
function crearCarpetasSecundarias() {
var libro = SpreadsheetApp.getActiveSpreadsheet();
var hoja = libro.getSheetByName('config');
var idMaestra = hoja.getRange('C2').getValue();
var carpetaMaestra = DriveApp.getFolderById(idMaestra);
var fila = 4;
while (hoja.getRange('B' + fila).getValue() != "") {
var nombreCarpeta = hoja.getRange('B' + fila).getValue();
var subcarpeta = carpetaMaestra.createFolder(nombreCarpeta);
hoja.getRange('C' + fila).setValue(subcarpeta.getId());
fila++;
}
}
Así, se crearán todas las carpetas secundarias y sus IDs se guardarán junto a sus nombres, lo que te permite luego acceder fácilmente a cada una desde tu código o desde la hoja.
Explicación del flujo y mejores prácticas
Este sistema tiene varias ventajas: automatizas la creación de carpetas, reduces errores manuales y siempre tienes a la mano los IDs de cada carpeta para futuras automatizaciones. Además, al separar el nombre y la identificación en columnas distintas, puedes modificar nombres o referencias sin tocar el código.
- Siempre que vayas a crear carpetas, usa variables para los nombres e identificaciones, así tu código es más flexible.
- Guarda los IDs en la hoja para no tener que buscarlos manualmente en Drive.
- Utiliza menús personalizados para una mejor experiencia de usuario y evitar ejecuciones accidentales.
Conclusión y próximos pasos
En este tutorial aprendiste a crear un sistema de carpetas automatizado en Google Drive usando Google Sheets y Apps Script, con menús personalizados y almacenamiento automático de identificaciones. Este método es perfecto para emprendedores, pymes y cualquier entusiasta de la productividad que quiera ahorrar tiempo y evitar errores en la organización de archivos.
Si quieres profundizar más, te recomiendo explorar cómo crear archivos automáticamente, compartir carpetas, o incluso integrar este sistema con formularios de Google para una gestión aún más avanzada.
Si quieres aprender a usar Google Forms y Google Sheets desde cero, te invito a tomar un curso gratis de 2 horas.