Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script Google应用程序脚本-是否可以仅通过GoogleAppScript允许对工作表中的某些单元格进行更改?_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script Google应用程序脚本-是否可以仅通过GoogleAppScript允许对工作表中的某些单元格进行更改?

Google apps script Google应用程序脚本-是否可以仅通过GoogleAppScript允许对工作表中的某些单元格进行更改?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我在谷歌电子表格中制作目录。我的spreasheet有一个表,用户可以在其中添加信息。此表是通过从数据库工作表获取数据的脚本动态创建的 用户可以编辑表中的某些单元格,然后单击按钮将更改保存回数据库工作表 我想限制他可以手动编辑的单元格,但我不能保护这些单元格,因为有一个脚本可以修改它(因为表是通过脚本动态生成的) 有没有办法保护单元格,使其只能由脚本编辑 我不能只保护一些区域,因为是用户运行脚本来修改单元格。如果我保护范围,用户不能手动或使用脚本更改范围。我想要一种防止手动输入范围的方法,但允许

我在谷歌电子表格中制作目录。我的spreasheet有一个表,用户可以在其中添加信息。此表是通过从数据库工作表获取数据的脚本动态创建的

用户可以编辑表中的某些单元格,然后单击按钮将更改保存回数据库工作表

我想限制他可以手动编辑的单元格,但我不能保护这些单元格,因为有一个脚本可以修改它(因为表是通过脚本动态生成的)

有没有办法保护单元格,使其只能由脚本编辑

我不能只保护一些区域,因为是用户运行脚本来修改单元格。如果我保护范围,用户不能手动或使用脚本更改范围。我想要一种防止手动输入范围的方法,但允许用户运行的脚本(而不是电子表格所有者)更改单元格


谢谢

使用独立脚本来创建具有所有者权限的web应用程序,而不是使用绑定脚本。这是因为有界脚本运行此命令时,会限制执行脚本的用户的权限


为了帮助您的用户执行webapp,我认为您可以创建一个用户对话框或侧面板来显示指向webapp的链接。

我通过以下步骤解决了这个问题

printsht.getRange(“A1:Q22”).setDataValidation(null)

在范围内执行任何处理

printsht.getRange(1,1,22,17).设置值(prin)

经过所有的处理和设置值等

//打印后的块编辑 var cell=printsht.getRange(“A1:Q22”); var rule=SpreadsheetApp.newDataValidation().requireTextEqualTo(“$$”).setAllowInvalid(false).setHelpText(“不在打印表中编辑”).build(); cell.setDataValidation(规则)

现在没有人可以手动编辑范围。所有的公式等将正常工作


但是,如果用户拥有编辑权限,他可以轻松地从系统菜单中删除验证。因此,它不是万无一失的。

我相信我的问题可能重复的问题尚未得到回答。可能重复的问题您可以尝试使用可安装的触发器-请参阅