【问题标题】:Run script depending on last editor根据最后一个编辑器运行脚本
【发布时间】:2015-10-26 18:05:17
【问题描述】:

我有以下问题:

'我有一个包含在应用程序中使用的复制信息的 Google 表格,当复制人修改应用程序时,我希望收到一封电子邮件,以便我知道更新应用程序内部使用的字符串。 '还有其他非自动的方法可以实现这一点,但复制人非常了解 google 文档,有时不记得通知我更改,或“在此处插入其他原因”。

无论如何,我已经创建了生成一组字符串的函数,我可以将其粘贴到 Xcode 中并运行应用程序。现在唯一的手动部分是运行该函数并将输出输入 Xcode。输出存储在同一文档的单独工作表中。 (最新的副本在顶部)。

这篇文章的技术问题/要点,我如何将其带到通过电子邮件发送给我的下一步,以便我可以对 Xcode 字符串文件进行更改?'

我对建议/其他想法持开放态度,因为我正在尝试对此进行迭代,我觉得一旦我让这个脚本在复制人更新工作表时运行,我会在一段时间内很好。

这是我所在的位置:

我尝试搜索 Google 的文档、SO 和其他网站,发现以下内容:

How to access revision history of a spreadsheet using GAS?

https://code.google.com/p/google-apps-script-issues/issues/detail?id=394

stackoverflow_com/questions/10584528/documentlist-api-and-gas-how-to-marry-them

sites_google_com/site/scriptsexamples/new-connectors-to-google-services/driveservice

productforums_google_com/forum/#!topic/docs/zty8X8Pkwbs

(以上不是链接,因为我的声誉不足以发布超过 2 个链接)。

所有这些来源都表明有一种方法可以潜在地解决这个问题,但对于简单的事情来说,这是一项艰巨的任务,比如看到“是最后一个编辑器,某个人的更改应该导致这个脚本函数运行”。

我的想法是在编辑工作表时让我的函数运行,只要最后一个修饰符是复制人,然后运行,否则,什么都不做。

我还可能遗漏了一个小细节/怪癖,这可能会阻止我想要实现的目标。希望通过这篇文章找到一些见解/答案。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    一个快速的解决方案是让您的“复制人”在电子表格中创建一个绑定脚本,例如:

    function myFunction() {
      var user = Session.getActiveUser().getEmail();
      if(user =='user-email'){
        MailApp.sendEmail('destination-email', 'subject', 'test trigger: ' + user);
        }
    }
    

    运行该函数只是为了测试和授予权限。

    然后他必须通过转到菜单“资源 -> 所有触发器”来创建触发器。 然后单击“未设置触发器。单击此处立即添加一个”。 选择函数的名称。 而不是时间驱动,选择“从电子表格” 然后选择事件“编辑中” 并保存触发器。

    现在,“复制人”应该修改电子表格,以测试电子邮件是否已发送。

    请记住,使用这种方法,“复制人”所做的每一次修改都会触发该事件,您将收到一封新电子邮件。

    【讨论】:

    • 感谢您的快速解决方案!尽管我将收到大量电子邮件,但我可能会走这条路。目前,我认为会有很多更新的时期之后是平静期,所以希望这会有所帮助:)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多