首页 > 解决方案 > 如何让谷歌表格脚本在移动应用程序上运行?

问题描述

我仔细阅读了论坛并没有找到任何明确的答案(除了编写一个 Android 脚本,但我有一部 iPhone)。根据我在这个精彩论坛上阅读的内容,onEdit 和 onChange 触发器应该可以在移动应用程序上运行。

当我使用桌面应用程序时,我的脚本运行良好。但是,当我使用 Google 表格移动应用程序时,脚本不会运行。我怎样才能让他们运行?

这个解决方案是创建一个Android 插件,但我有一部 iPhone。也许这是一个愚蠢的问题,但我可以在我的 iPhone Google 表格移动应用上运行 Android 插件吗?我认为不会,因为操作系统不兼容,但是发生了更奇怪的事情。

解决方案说将简单的onEdit触发器更改为可安装的触发器。什么是可安装触发器?

这个解决方案说使用谷歌的执行 API 创建一个网络应用程序。不知道该怎么做..我以为我已经做到了。在脚本编辑器Publish>>Deploy as web app中。我也做过Publish> Deploy as API executable。难道我做错了什么?

这是否意味着脚本无法在 iOS 谷歌表格移动应用上运行?

我的脚本:

function onEdit(){
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("pss");
  var lr = ss.getLastRow();
  var range = ss.getRange("A2:J" + lr);
  var vlst = range.getValues();

  range.setValues(vlst);
  var i,j,a,find,repl;
   for (var i = 0; i < vlst.length; i++){
    for (var j = 0; j < vlst[i].length; j++){
      a = vlst[i][j];
      if (a == find) vlst[i][j] = repl; 
    find ="sun";
    repl ="sunshine";
    }
  }  

标签: google-apps-scriptgoogle-sheetstriggers

解决方案


不知道我做了什么,但现在我的onEdit触发器可以在移动设备上使用!可能是Deploy as API executable通过延迟激活来激活的?不知道发生了什么,但现在onEdit触发器工作了,我收到了来自 Google 表格的带有失败报告的电子邮件。不知道为什么当触发器成功时谷歌表格会向我发送失败报告,但我现在不会抱怨它有效!

解决方案也可能是我添加了安装代码

function createTriggers() {
  ScriptApp.newTrigger('onMyEdit')
    .forSpreadsheet(SpreadsheetApp.getActive())
    .onEdit()
    .create();
}

如果您的触发器在 iPhone Google 表格应用程序上不起作用,请尝试激活Deploy as API executable. 它位于脚本编辑器中,Publish并将安装代码添加到您的脚本中


推荐阅读