Google apps script Google Sheets-在输入日期已过今天之后隐藏行';日期

Google apps script Google Sheets-在输入日期已过今天之后隐藏行';日期,google-apps-script,google-sheets,spreadsheet,Google Apps Script,Google Sheets,Spreadsheet,我一点也不熟悉如何创建在谷歌工作表中运行的脚本 但我希望在输入日期超过今天的日期后,能够隐藏任何给定的行。我已附上这张纸 有人能帮我吗?试试这个: function hideOldRows(){ var ss=SpreadsheetApp.getActive(); var sh=ss.getActiveSheet(); var rg=sh.getDataRange(); var vA=rg.getValues(); var dt=new Date(); var tdv=

我一点也不熟悉如何创建在谷歌工作表中运行的脚本

但我希望在输入日期超过今天的日期后,能够隐藏任何给定的行。我已附上这张纸

有人能帮我吗?

试试这个:

function hideOldRows(){
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var dt=new Date();
  var tdv=new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()).valueOf();
  for(var i=1;i<vA.length;i++) {
    if(new Date(vA[i][2]).valueOf()<tdv){
      sh.hideRows(i+1);
    }
  }
}
函数hideodrows(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getDataRange();
var vA=rg.getValues();
var dt=新日期();
var tdv=新日期(dt.getFullYear()、dt.getMonth()、dt.getDate()).valueOf();

对于(var i=1;i输入日期的列是什么?'C'是输入日期的列,并且'C1'在脚本中有一个标题,将
sh.hideRow(i+1)
修改为
sh.hideRow(i+1)如何
,因为使用了行索引?谢谢。我没有意识到另一个是一个范围。非常感谢,这两个都非常有效:)!是否有方法自动执行此操作,而不是每次按“run”键?只要做一些修改,您可以从onEdit触发器运行它
function hideOldRows(e){
  var rg=e.range;
  var sh=rg.getSheet();
  var inclA=['Patrick'];//You can add other sheet names to the included list of sheets. The function will return for other sheets on the next line.
  if(inclA.indexOf(sh.getName())==-1){return;}
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var dt=new Date();
  var tdv=new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()).valueOf();
  for(var i=1;i<vA.length;i++) {
    if(new Date(vA[i][2]).valueOf()<tdv){
      sh.hideRows(i+1);
    }
  }
}