Делаем лист и кодируем данные. Я хотел бы иметь кнопку, которая будет форматировать диапазон ячейки для
например: когда я нажимаю кнопку, лист создаст свои собственные borders
, colors
, filters
и т. д.
Образец листа
У меня есть только этот код для начала:
function formatSheet(){
let sheet = SpreadsheetApp.getActiveSpreadsheet();
let headers = sheet.getRange('A1:G1');
let table = sheet.getDataRange();
headers.setFontWeight('bold');
headers.setFontColor('white');
headers.setBackground('#52489C');
table.setFontFamily('Roboto');
table.setHorizontalAlignment('center');
table.setBorder(true, true, true, true, true, true, '#52489C', SpreadsheetApp.BorderStyle.SOLID);
}
Я хочу сделать кнопки, которые будут автоматически форматировать листы, и кнопку для удаления всего форматирования.
В посте не рассматриваются конкретные проблемы, уникальные для программирования. Уточните, пожалуйста, одну из отсутствующих настроек форматирования и то, что вы пытались добавить к этой настройке. Кстати, на изображении изображен «стол»; теперь, используя сценарии Google Apps, невозможно преобразовать диапазон в «таблицу».
Добавьте пустую вкладку и присвойте ей имя, например Template
. Отформатируйте Template
вручную и дублируйте его при создании дополнительных вкладок вместо того, чтобы создавать новые вкладки с нуля. См. Sheet.copyTo().
Чтобы удалить форматирование, используйте Sheet.clearFormats().
Чтобы повторно применить форматирование, скопируйте исходные форматы из Template
. См. Range.copyFormatToRange().
Чтобы создать пользовательскую кнопку, существует два способа создания.
Первый — с помощью Drawing:
После того, как вы нарисуете фигуру и напишете текст, просто нажмите assign script
.
Во-вторых, используется SpreadsheetApp.getUi()
:
let ui = SpreadsheetApp.getUi();
ui.createMenu('Custom Menu').addItem('Format Headers', 'formatSheet').addToUi();
Кнопка требует большого обслуживания (копирование кнопки на каждый лист). Вы думали об использовании пользовательского меню — оно будет работать с любым листом в любое время. Что касается удаления форматирования, посмотрите clearFormats() .