0

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

=importhtml("http://www.eco.hu/currency/table.htm"& year(now()) & month(now()) & day(now()) & hour(now()) & minute(now());"table";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) ;

  }

当我手动运行 Historia 时,它每次都能完美运行,带来正确的结果。当我使用此功能制作时间驱动的日间计时器时,它几乎总是在我的电子表格中带来#N/A 结果。

我做错了什么?谢谢

4

1 回答 1

1

我建议您考虑永远找不到“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
   }
  }
}
于 2013-09-17T13:09:39.303 回答