Google Script для очистки флажков и заметок в ячейках неожиданно удаляет также HYPERLINKS - PullRequest
0 голосов
/ 28 февраля 2019

ОЖИДАЕМОЕ ПОВЕДЕНИЕ: Очистить все примечания и флажки ячеек (преобразовать флажки из ИСТИНА в ЛОЖЬ)

АКТУАЛЬНОЕ ПОВЕДЕНИЕ: Удаляет все примечания, флажки и гиперссылки в ячейках,Он оставляет текст, отформатированный таким образом, чтобы он выглядел как гиперссылка ... но без реальной ссылки.

До:

После (толькотекст и форматирование остаются - ссылка пропала)

function ResetCheckBoxesAndClearNotesOnDefinedSheets(){
  var tabs = [
    'Checkout',
    'Reception'
  ];

  //LOOP THROUGH TABS LISTED ABOVE
  var ss=SpreadsheetApp.getActiveSpreadsheet();

  for (var k = 0; k < tabs.length; k++) {
    var sheet = ss.getSheetByName(tabs[k]);
    //CLEAR NOTES ON TABS LISTED ABOVE    
    sheet.clearNotes();  

    // CLEAR CHECKBOXES ON TABS LISTED ABOVE
    var dataRange = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
    var values = dataRange.getValues();
    for (var i = 0; i < values.length; i++) {
      for (var j = 0; j < values[i].length; j++) {
        if (values[i][j] === true) {
          values[i][j] = false; // Modified
        }
      }
    }

    dataRange.setValues(values);
  }//end of  sheets loop.
}

Как остановить удаление гиперссылок?

1 Ответ

0 голосов
/ 08 марта 2019

Разобрался со скриптом в ссылках.СПАСИБО!

function ResetCheckboxesOnSheet() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var vA=rg.getDataValidations();
  var cbA=[];
  for(var i=0;i<vA.length;i++) {
    for(var j=0;j<vA[i].length;j++) {
      var rule=vA[i][j];
      if(rule!=null) {
        var criteria = rule.getCriteriaType();
        if(criteria == SpreadsheetApp.DataValidationCriteria.CHECKBOX) {
          sh.getRange(i+1,j+1).setValue(false)

        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...