我有一张spreedsheet,带有Google表格的表格。不幸的是,我需要特殊的功能,比如条件格式,谷歌表格添加的数据会添加到没有格式的新行中。
所以,我做了另一张相同列的工作表,我不得不将粘贴从第一个复制到第二个。我希望这个副本能够实现自动化。所以我尝试使用Google App Script。但似乎我对触发器做错了。
以下是代码:
function creerTrigger()
{
ScriptApp.newTrigger('deplacerCommande').forSpreadsheet("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx").onFormSubmit().create();
}
function deplacerCommande(e)
{
var id = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
var feuille = SpreadsheetApp.openById(id).getSheetByName("Commande");
feuille.appendRow(e.namedValues);
}

当我从Google App Script运行deplacerCommande()时,会显示messageBox,但不会在提交表单时显示,所以我不认为触发器有效。
是的,我创建了我的触发器。我是通过从Google App Script运行函数creerTrigger()来完成的。我也尝试删除它,然后更改版本,然后重新创建它,因为我读它可以解决问题,但它没有。
用法语,但我会为你翻译价值: deplacerCommande是触发器调用的函数的名称。 第二个值表示从spreedsheet。 第三个意味着发送表格
答案 0 :(得分:0)
解决方案很简单。触发了触发器,但appendRow函数引发了一个Exception,因为namedValue是一个对象,而不是一个箭头。使用e.values而不是e.namedvalues解决了这个问题!