Una secuencia de comandos está vinculada a un archivo de Hojas de cálculo, Documentos, Presentaciones o Formularios de Google si se creó a partir de ese documento en lugar de como una secuencia de comandos independiente. El archivo al que se adjunta una secuencia de comandos vinculada se denomina "contenedor". Por lo general, los secuencias de comandos vinculados se comportan como los independientes, excepto que no aparecen en Google Drive, no se pueden separar del archivo al que están vinculados y obtienen algunos privilegios especiales sobre el archivo principal.
Las secuencias de comandos también se pueden vincular a Google Sites, pero casi siempre se implementan como apps web. Los secuencias de comandos vinculados a Hojas de cálculo, Documentos, Presentaciones o Formularios también pueden convertirse en apps web, aunque esto es poco común.
Los complementos de Google Workspace vinculados son, en efecto, complementos no publicados que solo funcionan para el archivo al que están vinculados.
Crea una secuencia de comandos vinculada
Puedes crear secuencias de comandos vinculadas en Documentos, Hojas de cálculo, Presentaciones y Formularios.
Documentos, Hojas de cálculo o Presentaciones
Para crear una secuencia de comandos vinculada en Documentos, Hojas de cálculo o Presentaciones, abre un documento en Documentos, una hoja de cálculo en Hojas de cálculo o una presentación en Presentaciones, y haz clic en Extensiones > Apps Script. Para volver a abrir la secuencia de comandos en el futuro, haz lo mismo o ábrela desde el panel de Apps Script.
Formularios
Para crear una secuencia de comandos vinculada en Formularios, abre un formulario y haz clic en Más > Editor de secuencias de comandos. Para volver a abrir la secuencia de comandos en el futuro, haz lo mismo o ábrela desde el panel de Apps Script.
La herramienta clasp no puede crear secuencias de comandos vinculadas, pero sí puede clonarlas y editarlas.
Métodos especiales
Las secuencias de comandos vinculadas pueden llamar a algunos métodos que las secuencias de comandos independientes no pueden:
getActiveSpreadsheet,getActiveDocument,getActivePresentationygetActiveFormpermiten que las secuencias de comandos vinculadas hagan referencia a su archivo principal sin mencionar el ID del archivo.getUipermite que las secuencias de comandos vinculadas accedan a la interfaz de usuario de su archivo principal para agregar menús, diálogos y barras laterales personalizados.- En Hojas de cálculo,
getActiveSheet,getActiveRangeygetActiveCellpermiten que la secuencia de comandos determine la hoja actual del usuario, el rango de celdas seleccionado o la celda individual seleccionada.setActiveSheetysetActiveRangepermiten que la secuencia de comandos cambie esas selecciones. - En Documentos,
getActiveTab,getCursorygetSelectionpermiten que la secuencia de comandos determine la pestaña actual del usuario, la posición del cursor del usuario o el texto seleccionado.setActiveTab,setCursorysetSelectionpermiten que la secuencia de comandos cambie esas selecciones.
Para obtener más información, consulta la guía para extender Hojas de cálculo o la guía para extender Documentos.
Estos métodos solo están disponibles para las secuencias de comandos vinculadas que se ejecutan desde el editor de secuencias de comandos, los elementos de menú, los diálogos, las barras laterales o los activadores. Cuando se ejecuta una secuencia de comandos vinculada como una app web o con la API de Google Apps Script, estos métodos no están disponibles.
Menús, diálogos y barras laterales personalizados
Las secuencias de comandos vinculadas pueden personalizar Hojas de cálculo, Documentos y Formularios agregando menús personalizados y cuadros de diálogo o barras laterales. Una secuencia de comandos solo puede interactuar con la interfaz de usuario de la instancia actual de un archivo abierto. Una secuencia de comandos vinculada a un documento no puede afectar la interfaz de usuario de otro documento.
Activadores
Los secuencias de comandos vinculados pueden usar activadores simples, como la función especial onOpen, que se ejecuta automáticamente cada vez que un usuario con acceso de edición abre un archivo. Al igual que todos los tipos de secuencias de comandos, también pueden usar activadores instalables.
Funciones personalizadas
Una función personalizada es una función en una secuencia de comandos vinculada a Hojas de cálculo a la que llamas directamente desde una celda con la sintaxis =myFunctionName(). Las funciones personalizadas son similares a los cientos de funciones integradas de Hojas de cálculo, como AVERAGE o SUM, con la diferencia de que tú defines el comportamiento de la función personalizada.
Acceso a secuencias de comandos vinculadas
Solo los usuarios que tienen permiso para editar un contenedor pueden ejecutar su secuencia de comandos vinculada. Los colaboradores que solo tienen acceso de visualización no pueden abrir el editor de secuencias de comandos. Si crea una copia del archivo del contenedor, se convierte en el propietario de la copia y puede ver y ejecutar una copia de la secuencia de comandos.
Para obtener información sobre cómo compartir el archivo contenedor de una secuencia de comandos, consulta Cómo compartir archivos de Drive.
Todos los secuencias de comandos vinculados a contenedores usan la misma lista de acceso de propietario, visualizador y editor definida para el archivo del contenedor. El propietario del contenedor se hace cargo de un nuevo proyecto de secuencia de comandos, independientemente de quién lo haya creado.