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