Выпадающие окна сброса скрипта Google Sheet - PullRequest
0 голосов
/ 26 сентября 2019

У меня есть таблица с вкладкой для каждого дня недели.На каждой вкладке есть несколько выпадающих списков, которые я хотел бы сбросить в начале недели на «Выбрать» или «0».Полученные ячейки одинаковы на каждой вкладке.Я определил ячейки, которые должны быть сброшены на «Выбрать», и ячейки, которые необходимо сбросить на «0»Это возможно?Я не хочу очищать лист, потому что он очистит выпадающие списки.

Ниже приведено то, что я уже сделал, но это не сохранит:

var sheet = SpreadsheetApp.getActive().getSheetByName('Wednesday').getSheetByName('Thursday').getSheetByName('Friday').getSheetByName('Saturday').getSheetByName('Monday').getSheetByName('Tuesday');
var resetselectrange ('B23', 'C4', 'G4', 'K4', 'O4', 'S4', 'A7:A16', 'E7:E16', 'I7:I16', 'M7:M16', 'Q7:Q16', 'A19:A23', 'E19:E23', 'I19:I23', 'M19:M23', 'Q19:Q23', 'A26:A29', 'E26:E29', 'I26:I29', 'M26:M29', 'Q26:Q29', 'A38:A41', 'E38:E41', 'I38:I41', 'M38:M41', 'Q38:Q41');
var resetzerorange ('C7:C16', 'G7:G16', 'K7:K16', 'O7:O16', 'S7:S16', 'C19:C23', 'G19:G23', 'K19:K23', 'O19:O23', 'S19:S23', 'C26:C29', 'G26:G29', 'K26:K29', 'O26:O29', 'S26:S29', 'C38:C41', 'G38:G41', 'K38:K41', 'O38:O41', 'S38:S41');
var clearrange ('F2', 'A32', 'E32', 'I32', 'M32', 'Q32');

I 'Я, очевидно, не эксперт в этом, и, очевидно, моя логика не является правильной логикой.

var sheet = SpreadsheetApp.getActive().getSheetByName('Wednesday').getSheetByName('Thursday').getSheetByName('Friday').getSheetByName('Saturday').getSheetByName('Monday').getSheetByName('Tuesday');
var resetselectrange ('B23', 'C4', 'G4', 'K4', 'O4', 'S4', 'A7:A16', 'E7:E16', 'I7:I16', 'M7:M16', 'Q7:Q16', 'A19:A23', 'E19:E23', 'I19:I23', 'M19:M23', 'Q19:Q23', 'A26:A29', 'E26:E29', 'I26:I29', 'M26:M29', 'Q26:Q29', 'A38:A41', 'E38:E41', 'I38:I41', 'M38:M41', 'Q38:Q41');
var resetzerorange ('C7:C16', 'G7:G16', 'K7:K16', 'O7:O16', 'S7:S16', 'C19:C23', 'G19:G23', 'K19:K23', 'O19:O23', 'S19:S23', 'C26:C29', 'G26:G29', 'K26:K29', 'O26:O29', 'S26:S29', 'C38:C41', 'G38:G41', 'K38:K41', 'O38:O41', 'S38:S41');
var clearrange ('F2', 'A32', 'E32', 'I32', 'M32', 'Q32');

Идентифицированные ячейки будут изменены на «Выбрать», Ноль или полностью очистятся.

1 Ответ

1 голос
/ 27 сентября 2019

Несколько пунктов:

  • Пожалуйста, обратитесь к Документация скрипта приложений , чтобы узнать правильный синтаксис методов, которые вы хотите использовать
  • Правильный синтаксис дляметоды в ваших вопросах: getRangeList () , setValue () и clearRange ()
  • Чтобы назначить диапазон переменной, вам необходимоиспользуйте оператор =, как это было бы в Javascript
  • Чтобы обрабатывать несколько листов одновременно, используйте loop в соответствии с синтаксисом Javascript.

Ниже приведен пример кода, который будет сбрасывать дропбоксы в указанных диапазонах. Я хотел бы призвать вас изучить предоставленные ссылки, чтобы получить лучшее понимание для скриптов приложений и JavaScript (на которых основан скрипт скриптов) и возможностиАдаптируйте этот код в соответствии с вашими потребностями.

Пример кода:

function myFunction() {
  var ss=SpreadsheetApp.getActive();
  //designates sheets as an array that can contain multiple entries
  var sheets=[];
  //The following procedure could be simplified if you would like to select all sheets or e.g. the first 6 sheets of a spreadsheet
  sheets.push(ss.getSheetByName('Wednesday'));
  sheets.push(ss.getSheetByName('Thursday'));
  sheets.push(ss.getSheetByName('Friday'));
  sheets.push(ss.getSheetByName('Saturday'));
  sheets.push(ss.getSheetByName('Monday'));
  sheets.push(ss.getSheetByName('Tuesday'));
  for(var i=0;i<sheets.length;i++){
    var resetselectrange=sheets[i].getRangeList(['B23', 'C4', 'G4', 'K4', 'O4', 'S4', 'A7:A16', 'E7:E16', 'I7:I16', 'M7:M16', 'Q7:Q16', 'A19:A23', 'E19:E23', 'I19:I23', 'M19:M23', 'Q19:Q23', 'A26:A29', 'E26:E29', 'I26:I29', 'M26:M29', 'Q26:Q29', 'A38:A41', 'E38:E41', 'I38:I41', 'M38:M41', 'Q38:Q41']).setValue(2);
    var resetzerorange=sheets[i].getRangeList(['C7:C16', 'G7:G16', 'K7:K16', 'O7:O16', 'S7:S16', 'C19:C23', 'G19:G23', 'K19:K23', 'O19:O23', 'S19:S23', 'C26:C29', 'G26:G29', 'K26:K29', 'O26:O29', 'S26:S29', 'C38:C41', 'G38:G41', 'K38:K41', 'O38:O41', 'S38:S41']).setValue('Select');
    var clearrange=sheets[i].getRangeList(['F2', 'A32', 'E32', 'I32', 'M32', 'Q32']).clear();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...