小编Mun*_*key的帖子

执行失败:您无权调用getProjectTriggers

我是Javascript和谷歌应用程序的新手,但慢慢找到我的脚(帮助)

我编写了一个脚本来执行各种操作,这个脚本的一部分是安装触发器.这里是.

function setTrigger() { 
var ss = SpreadsheetApp.getActive();
var triggers = ScriptApp.getProjectTriggers();
Logger.log('Amount of triggers ' +triggers.length);


var j = 0;
for (var i = 0 ; i < triggers.length;i++){

if(triggers[i].getHandlerFunction() == 'getNotes' ){j++;}

}

Logger.log('Amount of matching triggers ' +j);

if(j == 0 ){ScriptApp.newTrigger("getNotes").forSpreadsheet(ss).onFormSubmit().create();} 
}
Run Code Online (Sandbox Code Playgroud)

这是我遇到的问题.

上面的代码在onOpen()触发器中调用.当我打开工作表并检查日志时,我的触发器未安装,我收到以下消息.

Execution failed: You do not have permission to call getProjectTriggers
Run Code Online (Sandbox Code Playgroud)

当我onOpen()手动运行时.触发器已安装.

我目前拥有电子表格,但理想情况下,我想与人分享,触发器安装和工作.

有任何想法吗?

javascript google-sheets google-apps-script

6
推荐指数
1
解决办法
6560
查看次数

使用脚本中的数据,通过排序或警告框的形式编辑Google电子表格中的数据

我有一个我正在尝试开发的电子表格,可以使用它的一些帮助.

表单的快速摘要,是否包含需要人工注意/工作的案例/项目.

在它到达人类之前,任何邮政编码都是正确的非常重要.所以在提供表格的表格上,我有一个正则表达式,确保邮政编码格式正确/正确的字符等.

这并不能防止所有错误,所以在工作表本身,我有一个检查邮政编码的vlookup,如果找不到匹配,则在工作表的其他地方添加了错误的邮政编码(列BN),我们知道该项目需要修复.

这仍然不理想,因为它需要人找到所有"不正确的邮政编码"条目并更正邮政编码.这些可以隐藏/点缀在一张2000多个条目中.

所以我的下一步是创建一个查找"不正确的邮政编码"值的脚本,并记录它所找到的工作表的行.使查找和修复更容易.它还会告诉您总错误数量.

这是代码:

function postcodeFix() {


  var sourceSheet = "Form Responses"; 
  var postcodeError = "Incorrect Postcode";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(sourceSheet);
  var values = sheet.getRange("BN3:BN").getValues();
  var errorArray = [];

  for (i = 0; i < values.length;i++)  {
  if (values[i] == postcodeError)

  {  

  errorArray.push(i+3); 
  } 



  }


  if (errorArray.length <= 0)
  {
Browser.msgBox("No Errors Found","All postcodes are correct, no errors found.",Browser.Buttons.OK);
  }

else
{
  Browser.msgBox("Errors Found","There are currently " + errorArray.length + " Postcode errors …
Run Code Online (Sandbox Code Playgroud)

javascript forms alert google-sheets google-apps-script

2
推荐指数
1
解决办法
2442
查看次数

向后循环数组时出错

我开始做一些事情,并且很早就遇到了障碍,试图以我对 javascript 的有限知识尽早思考解决问题的方法。

我确定这是一件简单而烦人的事情,但我似乎看不出是什么导致了错误。

只是在编写一个脚本,最终使用谷歌脚本显示来自谷歌电子表格的数据。但是,是的,似乎无法反向循环特定值。

请在下面查看我的注释代码,并提前致谢。

简单地尝试向前循环遍历数组。决定去了解基础,因为我很难过。作品。记录器显示我上升了 1

function getInfo() {
var sheet = SpreadsheetApp.openById("ID HERE").getSheetByName("Sheet1");
var values = sheet.getDataRange().getValues();


for(i=0;i < values.length;i++){
Logger.log([i]);

}
}
Run Code Online (Sandbox Code Playgroud)

与上面相同,除了我试图反向遍历数组。工作,但到目前为止我们只问它我们在循环的哪个部分。

function getInfo() {
var sheet = SpreadsheetApp.openById("ID HERE").getSheetByName("Sheet1");
var values = sheet.getDataRange().getValues();


for(i=values.length;i > 0 ;i--){
Logger.log([i]);

}
}
Run Code Online (Sandbox Code Playgroud)

准时系好你的裤子,因为我们正在向数组请求数据,向前循环。有用。它返回数组中每个条目的整行

function getInfo() {
var sheet = SpreadsheetApp.openById("ID HERE").getSheetByName("Sheet1");
var values = sheet.getDataRange().getValues();


for(i=0;i < values.length;i++){
Logger.log([i]+" " + values[i]);

}
}
Run Code Online (Sandbox Code Playgroud)

让我们月球漫步并再次尝试反向循环。因为我很坏,我很坏,嘻嘻,哇哦。有用 :)

function getInfo() {
var sheet = SpreadsheetApp.openById("ID HERE").getSheetByName("Sheet1");
var values …
Run Code Online (Sandbox Code Playgroud)

javascript arrays google-sheets google-apps-script

0
推荐指数
1
解决办法
1087
查看次数