Скрипт считается привязанным к файлу Google Sheets, Google Docs, Google Slides или Google Forms, если он был создан на основе этого документа, а не как отдельный скрипт . Файл, к которому прикреплен привязанный скрипт, называется «контейнером». Привязанные скрипты, как правило, ведут себя как отдельные скрипты, за исключением того, что они не отображаются в Google Drive, их нельзя отсоединить от привязанного файла, и они получают некоторые особые привилегии по сравнению с родительским файлом.
Скрипты также могут быть привязаны к Google Сайтам, но эти скрипты почти всегда развертываются как веб-приложения . Скрипты, привязанные к Таблицам, Документам, Презентациям или Формам, также могут стать веб-приложениями, хотя это и встречается нечасто.
Связанные скрипты по сути являются неопубликованными дополнениями Google Workspace , которые функционируют только для того файла, к которому они привязаны.
Создайте связанный скрипт.
Вы можете создавать связанные скрипты в документах, таблицах, слайдах и формах.
Документы, таблицы или слайды
Чтобы создать связанный скрипт в Документах, Таблицах или Презентациях, откройте документ в Документах, электронную таблицу в Таблицах или презентацию в Презентациях и выберите Расширения > Скрипты приложений . Чтобы открыть скрипт повторно в будущем, выполните те же действия или откройте скрипт с панели управления Скриптами приложений .
Формы
Чтобы создать связанный скрипт в Forms, откройте форму и нажмите > « Редактор скриптов» . Чтобы открыть скрипт снова в будущем, выполните те же действия или откройте скрипт с панели управления Apps Script .
Инструмент clasp не может создавать связанные скрипты, но может клонировать и редактировать их.
Специальные методы
Связанные скрипты могут вызывать некоторые методы, недоступные для автономных скриптов:
-
getActiveSpreadsheet,getActiveDocument,getActivePresentationиgetActiveFormпозволяют связанным скриптам ссылаться на родительский файл без указания идентификатора файла. - Функция
getUiпозволяет связанным скриптам получать доступ к пользовательскому интерфейсу родительского файла для добавления пользовательских меню, диалоговых окон и боковых панелей . - В таблице Sheets
getActiveSheet,getActiveRangeиgetActiveCellпозволяют скрипту определить текущий лист пользователя, выбранный диапазон ячеек или выбранную отдельную ячейку.setActiveSheetиsetActiveRangeпозволяют скрипту изменять эти выбранные ячейки. - В документации функции
getActiveTab,getCursorиgetSelectionпозволяют скрипту определять текущую вкладку пользователя, положение курсора или выделенный текст.setActiveTab,setCursorиsetSelectionпозволяют скрипту изменять эти выделенные элементы.
Для получения более подробной информации см. руководство по расширению функциональности Sheets или руководство по расширению функциональности Docs .
Эти методы доступны только для связанных скриптов, запускаемых из редактора скриптов, пунктов меню, диалоговых окон, боковых панелей или триггеров. Если связанный скрипт запускается как веб-приложение или с использованием API Google Apps Script , эти методы недоступны.
Настраиваемые меню, диалоговые окна и боковые панели
Связанные скрипты позволяют настраивать таблицы, документы и формы, добавляя пользовательские меню , диалоговые окна или боковые панели . Скрипт может взаимодействовать с пользовательским интерфейсом только для текущего экземпляра открытого файла. Скрипт, привязанный к одному документу, не может влиять на пользовательский интерфейс другого документа.
Триггеры
Связанные скрипты могут использовать простые триггеры, такие как специальная функция onOpen , которая автоматически запускается всякий раз, когда файл открывается пользователем, имеющим права на редактирование. Как и все типы скриптов, они также могут использовать устанавливаемые триггеры .
Пользовательские функции
Пользовательская функция — это функция в скрипте, привязанном к таблице Sheets, которую вы вызываете непосредственно из ячейки, используя синтаксис =myFunctionName() . Пользовательские функции похожи на сотни встроенных функций в Sheets, таких как AVERAGE или SUM за исключением того, что вы определяете поведение пользовательской функции.
Доступ к привязанным скриптам
Запускать связанный с контейнером скрипт могут только пользователи, имеющие разрешение на редактирование. Соавторы, имеющие только доступ на просмотр, не могут открыть редактор скриптов. Если они создадут копию файла контейнера, они станут владельцами этой копии и смогут видеть и запускать копию скрипта.
Чтобы узнать, как поделиться файлом-контейнером скрипта, обратитесь к разделу «Поделиться файлами из Google Диска» .
Все скрипты, привязанные к контейнеру, используют один и тот же список доступа владельца, пользователя и редактора, определенный для файла контейнера. Владелец контейнера становится владельцем нового проекта скрипта независимо от того, кто его создал.