Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Javascript 基于Google Sheet(特定数据)appscript中的值清除行数据_Javascript_Google Apps Script_Google Sheets_Google Sheets Api_Spreadsheet - Fatal编程技术网

Javascript 基于Google Sheet(特定数据)appscript中的值清除行数据

Javascript 基于Google Sheet(特定数据)appscript中的值清除行数据,javascript,google-apps-script,google-sheets,google-sheets-api,spreadsheet,Javascript,Google Apps Script,Google Sheets,Google Sheets Api,Spreadsheet,我正在寻找一个基于值的清除特定行内容/数据,然后隐藏行 在{F Col}中键入值“Done”{E,C Col}的清除值 完成所有操作后,隐藏行 修改点: 关于sheet.getRange([“C:C”,“E:E”]).clearContent(),, 工作表未声明 如果要使用范围列表,请使用getRangeList() 当使用s.getRange('F1:F'+s.getLastRow())而不是s.getRange('F:F')时,我认为过程成本可以降低一点 当上述各点反映到脚本中

我正在寻找一个基于值的清除特定行内容/数据,然后隐藏行

在{F Col}中键入值“Done”{E,C Col}的清除值

完成所有操作后,隐藏行

修改点:
  • 关于
    sheet.getRange([“C:C”,“E:E”]).clearContent(),,
    
    • 工作表
      未声明
    • 如果要使用范围列表,请使用
      getRangeList()
  • 当使用
    s.getRange('F1:F'+s.getLastRow())
    而不是
    s.getRange('F:F')
    时,我认为过程成本可以降低一点
当上述各点反映到脚本中时,它将变成如下所示

修改脚本:
函数clearcontenthenhiderow(){
var s=SpreadsheetApp.getActive().getSheetByName('Main');

//s.showRows(1,s.getMaxRows());代码运行良好。但当我在“F COL”中完成编写时,出现了一些问题它运行脚本并取消隐藏上一行,然后隐藏所有当前行。我的意思是它会一次又一次地闪烁所有隐藏行,然后隐藏所有行。@Manish S感谢您的回复。对于给您带来的不便,我深表歉意。在您的脚本中,
S.showRows(1,S.getMaxRows())
已被使用。从您的脚本中,我认为需要使用您。但我认为这可能是您当前问题的原因。例如,是否按您预期的方向删除它?为此,我更新了我的答案。请您确认一下。如果这不是您预期的方向,我再次道歉。
function ClearContentThenHideRow() {
  var s = SpreadsheetApp.getActive().getSheetByName('Main');
  s.showRows(1, s.getMaxRows());
  
  s.getRange('F:F')
    .getValues()
    .forEach( function (r, i) {
    if (r[0] == 'Done') 
      //sheet.getRange(["C:C","E:E"]).clearContent(); // clear content not working 
      s.hideRows(i + 1);
    });
}

function ClearContentThenHideRow() {
  var s = SpreadsheetApp.getActive().getSheetByName('Main');
  // s.showRows(1, s.getMaxRows()); <--- removed
  s.getRange('F1:F' + s.getLastRow())
    .getValues()
    .forEach(function (r, i) {
      if (r[0] == 'Done') {
        s.getRangeList(["C" + (i + 1), "E" + (i + 1)]).clearContent();
        s.hideRows(i + 1);
      }
    });
}