Скрипт Google удаляет строку

#javascript #google-apps-script #google-sheets

#javascript #google-apps-script #google-sheets

Вопрос:

Привет, я пытаюсь написать скрипт Google, который будет удалять строки на основе утверждения True / False. Я использую флажки и удаляю строку. Также есть ли способ, чтобы это выполнялось непрерывно, или я должен вручную запускать это каждый раз?

Кажется, я не могу запустить код для удаления строк с помощью флажка

 function deleteRow()  {
  
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  
  var editSheet = ss.getSheetByName("EDIT");
  
  var lastRowEdit = editSheet.getLastRow();
  
  for(var i = 4; i <= lastRowEdit; i  )
  {
    
    if(editSheet.getRange(i,4).getValue() == 'TRUE')
    {
      editSheet.deleteRow(i);
      
  
}

  }
  
  
}
 

Шаблон Google Sheet

Комментарии:

1. Что мне делать, когда кто-то отвечает на мой вопрос?

2. function deleteRow() { var ss = SpreadsheetApp.getActiveSpreadsheet() var editSheet = ss.getSheetByName("EDIT"); var lastRowEdit = editSheet.getLastRow(); var d=0; for(var i=4;i<=lastRowEdit;i ) { if(editSheet.getRange(i,4).getValue() == 'TRUE') { editSheet.deleteRow(i-d ); } } }

Ответ №1:

Объяснение / Проблемы:

Решение:

 function deleteRow(){

  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const editSheet = ss.getSheetByName("EDIT");
  const colD = editSheet.getRange('D4:D'  editSheet.getLastRow()).getValues().flat();  
  colD.reverse().forEach((r,i)=>{
     if(r){ 
      editSheet.deleteRow(colD.length-i 3);
  }});
 
}
 

Комментарии:

1. На этом листе будет введено больше данных, поэтому ему просто нужно просканировать столбец D на наличие всех истинных или ложных утверждений. Работает ли это постоянно или мне нужно запускать скрипт каждый раз, чтобы он вступил в силу? Также могут ли другие редакторы вносить изменения в лист, и скрипт будет запущен?

2. @CyberYourPunk 1) вам нужно запустить его вручную, выполнив эту функцию или, например, создать триггер времени для этого. 2) любой, у кого есть доступ к редактированию этого листа, может выполнить этот скрипт. 3) рассмотрите возможность принятия ответа, нажав на кнопку галочки слева от ответа.