我是Google Apps脚本的新手,而且我不知道如何编写一些代码。我有两个电子表格,其中1个用于管理员,1个用于客户端。每次管理员将更新单元时,客户端也必须更新。但是,仅复制单元格中的数据,而不复制其中的背景。以下是屏幕快照,可帮助您更好地理解:
答案 0 :(得分:0)
这需要一个可安装的onEdit(e)触发器。您还将需要客户端电子表格的ID。请注意,除非从提供事件对象的另一个函数执行此操作,否则无法从“脚本编辑器”运行此命令。参见this example。
function updateClient(e) {
var ss=SpreadsheetApp.openById('ClientSideSpreadsheetId');//You need to provide id here. You cannot pass other parameters to this function because it a trigger.
var sh=ss.getSheetByName(e.range.getSheet().getName());
var rg=sh.getRange(e.range.rowStart,e.range.columnStart);
rg.setValue(e.value);
rg.setBackground(e.range.getBackground());
}
我在自己的帐户上对此进行了测试,并且可以正常运行。我怀疑您将无法运行它,因此请在我完全无法访问之前仔细阅读我提供的链接中的答案。
这是事件对象的样子:
{"authMode":{},"range":{"columnStart":3,"rowStart":18,"rowEnd":18,"columnEnd":3},"source":{},"user":{"nickname":"nickname","email":"email@email.com"},"triggerUid":"123456","value":"3"}