Для начала в электронной таблице откройте «Инструменты / Редактор сценариев…». Когда откроется диалоговое окно, выберите «Создать сценарий для… электронной таблицы». В итоге вы получите образец сценария — мы собираемся отредактировать его, чтобы он делал то, что вы хотите.
Измените функцию readRows()
, как показано здесь. Изменение заключается в том, что вместо регистрации содержимого каждой строки мы будем использовать оператор if
, чтобы проверить, содержит ли ячейка строку с «Hello». Затем, если это так, мы выделяем текст ячейки жирным шрифтом.
function readRows() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
// Arrays start at 0, Google Sheets start at 1 - must remember that.
// We will loop starting at 1, because we want to skip the header in
// Row 1, aka Array index 0
for (var i = 1; i <= numRows - 1; i++) {
var colA = values[i][0];
if (colA.toString().indexOf('Hello') >= 0) {
sheet.getRange(i+1,1).setFontWeight("bold");
}
}
};
Теперь, как запустить это? В примере уже есть функция onOpen()
, которая создаст пользовательское меню... давайте просто изменим текст, отображаемый в пользовательском интерфейсе, как показано здесь. Единственное изменение в свойстве «имя» пунктов меню.
function onOpen() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var entries = [{
name : "Bold Hello",
functionName : "readRows"
}];
sheet.addMenu("Script Center Menu", entries);
};
Сохраните свой сценарий. Вернитесь к своей электронной таблице и перезагрузите ее (чтобы запустить триггерную функцию onOpen). Когда появится ваше меню, все готово.
Затем начните с руководства "Первый скрипт" здесь. Документация Google Apps Script охватывает все службы, предоставляемые Apps Script, но базовая языковая структура и объекты — это javascript, так что вам следует с этим ознакомиться. Просто попробуйте поискать в Google «изучить javascript», и вы найдете множество руководств, книг и других ресурсов.
Я не могу сделать это проще.
person
Mogsdad
schedule
29.05.2013