【问题标题】:How to create a Google Sheets Script that runs as soon as the user opens a spreadsheet?如何创建用户打开电子表格后立即运行的 Google 表格脚本?
【发布时间】:2014-01-08 19:04:37
【问题描述】:

如何创建在用户打开电子表格后立即运行的脚本?

具体来说,我需要一个脚本,在打开电子表格时询问用户的姓名和性别,并根据性别将姓名添加到电子表格的不同工作表中。

这很简单,但我已经浏览了他们网页上的教程,但无法做到。我知道如何编程,但我是 Google Apps 脚本的新手。

这在 Google 表单或 Google 表格中做得更好吗?

【问题讨论】:

    标签: google-apps-script google-sheets google-apps google-forms


    【解决方案1】:

    如何创建在用户打开电子表格后立即运行的脚本?

    一个onOpen() trigger function

    具体来说,我需要一个脚本,在打开电子表格时询问用户的姓名和性别,并根据性别将姓名添加到电子表格的不同工作表中。

    onOpen() 应该调用一个使用Browser.inputBox() 的函数来获取用户的输入,然后通过Range.setValues() 将其写入工作表。

    请注意,用户需要拥有编辑权限才能使用此功能。

    这在谷歌表单或谷歌电子表格中做得更好吗?

    如果您希望 UI 显示在电子表格中,则脚本必须包含在电子表格中。

    或者,如果您不希望用户看到电子表格,您可以使用表单服务来收集他们的输入,而无需任何编程。

    【讨论】:

    • 你领先了 9 秒! :-) 和更好的 ;-( (现在太忙了 :-|
    • @Mogsdad 感谢您的回答,但我认为我的问题更为基本:我实际上在哪里编写脚本?我是否要创建一个电子表格,然后将其写入某处?还是我去 script.google.com 在那里编写脚本并以某种方式将其与我的电子表格链接?谢谢你。我想这些都是非常简单的问题
    【解决方案2】:

    没有什么太难得到的:

    阅读this doc,了解如何在电子表格中构建警报并使用可安装的触发器onOpen 使其显示

    你所要做的就是把这些放在一起。

    【讨论】:

      【解决方案3】:

      对于打开时启动的脚本,您需要编写函数:

      function onOpen() {
        var sheet = SpreadsheetApp.getActiveSpreadsheet();
        ...
      };
      

      Google 电子表格没有对话窗口或类似的东西。 但是有几种方法:

      1. 您可以使用 show 方法显示您的 html 或 UiApp 输入对话框:https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet#show(Object)
      2. 您可以使用一张表输入“性别”并隐藏其他表。单击按钮后,您可以显示所有工作表。这是电子表格 API:https://developers.google.com/apps-script/reference/spreadsheet/
      3. 您可以使用个人资料登录人员的信息并读取他/她的性别:)
      4. 您可以使用表单输入“性别”并将上下文(通过脚本)切换到电子表格,但这是更复杂的解决方案。这是表单 API:https://developers.google.com/apps-script/reference/forms/

      是的,我忘记了 inputBox() :)

      【讨论】:

        【解决方案4】:

        要创建一个在用户打开电子表格后立即运行的脚本,您应该创建一个电子表格脚本的边界并使用触发器:

        1. 创建新电子表格或打开现有电子表格。
        2. 点击工具 > 脚本编辑器...
        3. 点击欢迎对话框上的关闭按钮。
        4. 开始编写脚本

        要使脚本在打开时运行,您可以通过使用 onOpen 作为函数名称来使用简单的触发器,也可以使用可安装的触发器。

        更多详情见https://developers.google.com/apps-script/guides/sheets

        【讨论】:

          猜你喜欢
          • 2023-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多