Google App脚本 - 如何允许其他用户通过脚本编辑仅受我保护的单元格?

时间:2018-04-11 11:49:53

标签: google-apps-script google-sheets

我有销售表,只能由我访问。

我有销售表单(不是Google表单,但是电子表格表单),可以通过 Google App脚本将数据输入销售表 >和其他用户可以访问此销售表单

但简而言之,其他用户无法将数据输入销售表。错误是"您正在尝试编辑受保护的单元格或对象。 bla bla bla ..."

是否有任何解决方案可以让其他用户通过脚本向唯一受保护的单元格输入数据?

谢谢。

2 个答案:

答案 0 :(得分:1)

是的,将脚本发布为Web应用程序,其中包含以我身份运行的选项,并将权限设置为域中的任何人或匿名用户。

在您的脚本文件中创建一个doGet()函数并从该函数中调用脚本。

function doGet(e){
  submitForm(); // This is your function that writes to the protected sheet
}

转到网络应用程序URL然后将以您的身份运行脚本,并允许用户无需预先编辑工作表以提交数据。

答案 1 :(得分:1)

不是在工作表上放置保护,而是在已有数据的范围上设置保护,然后使用时间驱动的功能扩展该范围。

例如,假设'Sales Sheet'!A1:Z10有数据,但所有剩余的行都是空白的。您只会保护'Sales Sheet'!A1:Z10。当有人提交新数据时,该数据将排在第11行。您的时间驱动功能(可能每分钟)将更改保护以包括第11行 - 'Sales Sheet'!A1:Z11

(不幸的是,无法阻止当前用户进行编辑,因此您无法在提交时触发此操作。)

您的另一个选择是通过Apps脚本将数据提交到Google表单,将结果保存到新的电子表格,然后执行=IMPORTRANGE(),以便其他用户仍然可以查看< / em>提交。