首页 > 解决方案 > Google Sheets - 使应用程序脚本在手机应用程序版本上运行

问题描述

我创建了一个 Google 表格电子表格和一些脚本来帮助我跟踪健身房成员的出勤情况。

我的项目关联了以下脚本: - 一个触发器,它根据我所做的一些检查发送定期事件,并更新一些单元格。这很好用,我安排它每天运行,即使我的电脑没有打开,它似乎也能正常工作:D - 我还添加了一个 onEdit 功能,该功能应该提醒用户他/她已经修改了一个单元格并让他知道他可以撤消以恢复更改。这是功能:

function onEdit(e) {
  var ui = SpreadsheetApp.getUi(); 
  var cell = e.range; 
  var actual_cell = e.source.getActiveRange().getA1Notation();
  var row = cell.getRow();
  var column = cell.getColumn();
  var old_content = e.oldValue;

  ui.alert('Modificare celula' + ' ' + actual_cell + '.' + ' UNDO to rever the changes')
}

但是,这不适用于移动版本:Android 表格。有什么方法可以让我的应用程序在移动版本上也能完全正常运行?我想要那个警告消息告诉用户一个单元格在移动版本上也被修改了。我怎么能那样做?

还有另一个关于发送定期电子邮件的触发器的问题。我使用了运行某些功能的基于时间的每日触发器。我是否必须始终在我的 PC(或任何其他设备)上登录我的帐户才能定期运行此脚本?还是它在云端,即使我没有登录任何设备,它也会运行?

标签: google-apps-scriptgoogle-sheets

解决方案


为了能够从移动应用程序(Android 或 iOS)触发绑定到电子表格的脚本,您必须将脚本部署为 API 可执行文件(发布 -> 部署为脚本菜单栏中的 API 可执行文件)[1]。

正如一位 Google 员工在此评论 [2] 中所说,自去年以来,您无法在移动版本中显示 Ui 类 [3] 中的任何元素。

关于您的另一个问题:您的计算机是否打开并不重要,脚本/触发器将以任何方式运行。

[1] https://developers.google.com/apps-script/api/quickstart/target-script

[2] https://b.corp.google.com/issues/36763692#comment6

[3] https://developers.google.com/apps-script/reference/base/ui


推荐阅读