PolarOneBear
@PolarOneBear

Как задать формат ячейки?

Не понимаю как лучше сделать, возможно подскажете альтернативу.

Добавляю строку через форму с данными компании.

function addCompany(companyName, contactName, informStatus, phone, email) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  
  // Создаем объекты для чекбокса и компании
  var company = companyName;
  
  var newRow = [companyId, false, company, contactName, informStatus, phone, email];
  sheet.appendRow(newRow);

  // Формат ячейки в виде флажка
  var row = sheet.getLastRow();
  var cell = sheet.getRange(row, 2); // 2 - это номер второй колонки
  cell.setValue(false); // Устанавливаем значение чекбокса false
// Установить формат ячейки..... тут и не справился

  return companyId;
}

Мы просто передаём false \ true, но так и публикует. Как заменять на чекбокс? Да, можно выделить колонку и выбрать "Вставка->Флажок", но как этого добиться из скрипта? Через set Format возможно как-то... но не уверен. В документации не нашел подходящего.

Первая "компания" - это пример.
6539c486852d4156820665.png
  • Вопрос задан
  • 288 просмотров
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Apps Script
Google Products Expert
Вы должны копировать валидацию данных для этого

/**
 *
 * @param {string} companyName
 * @param {string} contactName
 * @param {('Да'|'Нет')} informStatus
 * @param {string} phone
 * @param {string} email
 * @returns
 */
function addCompany_(companyName, contactName, informStatus, phone, email) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Создавать список и чекбокс');

  // Создаем объекты для чекбокса и компании
  var company = companyName;

  const companyId = `${String(companyName).toUpperCase().replace(/\s+/, '_')}_${new Date()}`;

  var newRow = [companyId, false, company, contactName, informStatus, phone, email];
  const lr = sheet.getLastRow() + 1;
  sheet.appendRow(newRow);

  const validations = sheet.getRange('2:2').getDataValidations();

  sheet.getRange(`${lr}:${lr}`).setDataValidations(validations);

  return companyId;
}

/* exported runAddCompany */
function runAddCompany() {
  addCompany_(`Comp_${new Date().getTime()}`, 'Contact', 'Да', '77777777777', 'qerwerq@afaffa.ru');
}


653b99da4c447869296536.gif

Пример в Таблице
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы