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 Apps Script_Google Sheets_Triggers_Google Sheets Formula - Fatal编程技术网

Google apps script 电子表格和时间驱动触发器

Google apps script 电子表格和时间驱动触发器,google-apps-script,google-sheets,triggers,google-sheets-formula,Google Apps Script,Google Sheets,Triggers,Google Sheets Formula,在电子表格单元格中,我有以下公式: =importhtml(“http://www.eco.hu/currency/table.htm“&年(现在())&月(现在())&日(现在())&小时(现在())&分钟(现在());“表”1) 这也会刷新一些其他单元格的值 我将每天保存来自不同单元格的一些值。 我有以下功能: function Historia() { Utilities.sleep(15000); var ss= SpreadsheetApp.setActiveSheet(XXX);

在电子表格单元格中,我有以下公式:

=importhtml(“http://www.eco.hu/currency/table.htm“&年(现在())&月(现在())&日(现在())&小时(现在())&分钟(现在());“表”1)

这也会刷新一些其他单元格的值

我将每天保存来自不同单元格的一些值。 我有以下功能:

function Historia() {
 Utilities.sleep(15000);
 var ss= SpreadsheetApp.setActiveSheet(XXX);
 var rows = ss.getDataRange();
 var values = rows.getValues();

 for (var i=0;i<values.length; i++) { 
      var j = values[i].indexOf("Portf" );
      if (j > -1) { var aktPort = values[i][j+1]; }
  }
  var ss= SpreadsheetApp.setActiveSheet(Hist);
  ss.getRange(4,2).setValue(aktPort) ;

  }
函数a(){
公用事业.睡眠(15 000);
var ss=电子表格应用程序setActiveSheet(XXX);
var rows=ss.getDataRange();
var values=rows.getValues();
对于(var i=0;i-1){var aktPort=values[i][j+1];}
}
var ss=电子表格应用程序setActiveSheet(历史);
ss.getRange(4,2).setValue(aktPort);
}
当我手动运行Historia时,它每次运行都很完美,带来了正确的结果。当我用这个函数制作一个时间驱动的日计时器时,它几乎总是在我的电子表格中产生一个“N/a”结果


我做错了什么?谢谢

我建议你考虑一下“Portf”永远找不到的可能性

下面是您的代码的重新工作:

function Historia() {
 Utilities.sleep(15000);
 var ss= SpreadsheetApp.setActiveSheet(XXX);
 var rows = ss.getDataRange();
 var values = rows.getValues();
 var aktPort = "";

 for (var i=0;i<values.length; i++) { 
   var j = values[i].indexOf("Portf" );
   if (j > -1) { 
     aktPort = values[i][j+1]; 
     var ss= SpreadsheetApp.setActiveSheet(Hist);
     ss.getRange(4,2).setValue(aktPort);  // since there's only one storage location
     break;                               // no need to look further
   }
  }
}
函数a(){
公用事业.睡眠(15 000);
var ss=电子表格应用程序setActiveSheet(XXX);
var rows=ss.getDataRange();
var values=rows.getValues();
var aktPort=“”;
对于(var i=0;i-1){
aktPort=值[i][j+1];
var ss=电子表格应用程序setActiveSheet(历史);
ss.getRange(4,2).setValue(aktPort);//因为只有一个存储位置
break;//无需进一步查看
}
}
}

你完全正确!我看不到我的基本错误!非常感谢!