【问题标题】:Protecting Spreadsheet from renaming in Google Sheets保护电子表格免于在 Google 表格中重命名
【发布时间】:2017-03-13 12:54:34
【问题描述】:

我有一个名为“TeamWork”的 Google 电子表格,并与大约 50 位其他用户共享,他们可以编辑不同范围的广告表。问题是当他们中的一些人想要更改文件名时,他们就可以做到,所以有时我会为这个文件取一些有趣的名字,比如“teamNotWork”等。 有没有办法阻止除所有者以外的任何人重命名 Spreadheet?如果可能不使用“onEdit”脚本触发器,因为它使用配额。 感谢您的帮助!

【问题讨论】:

  • 我将问题发送到 Google Apps 脚本问题和功能请求:问题 6821:电子表格名称保护

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


【解决方案1】:

onOpen 不会经常发生,并且 onEdit 会消耗太多配额。 相反,如果文件不是您想要的,请使用基于时间的触发器(每分钟或每 5 分钟)重命名文件。 它还有一个优点,即无论用户如何打开工作表(移动设备或桌面),它都能正常工作。

【讨论】:

  • 所以没有办法设置它独立于触发器,最好通过类方法保护名称,例如:SpreadSheet.name(string name, protected)。
  • 受脚本保护。您无法阻止 1 分钟的延迟,因为如果您使用 onEdit,您已经遇到了配额问题。
【解决方案2】:

我会尝试使用 onOpen 触发器:

function onOpen() {
  var file = SpreadsheetApp.getActiveSpreadsheet();
  file.rename('TeamWork');
}

您可以再添加一个time Driven trigger,并在没有人使用文件时每天启动一次。

【讨论】:

  • 它可能会有所帮助,但是这个文件每天打开大约 8 小时,所以如果每个用户在早上 8:00 打开它并且在早上 8:30 更改名称,它看起来会一直更改到第二天. OnEdit 脚本应该可以完成这项工作,但我想避免这种情况,因为我已经有几个了。
  • 有没有人关心文件名是否改变,直到它被打开?当您尝试按名称查找文件时需要名称,但有一种方法可以通过直接链接找到它。 onOpen 在页面重新加载时也有效。
  • 主管关心...:)
猜你喜欢
  • 2019-11-16
  • 1970-01-01
  • 2021-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-11
相关资源
最近更新 更多