Теперь, когда вы знаете, как работают макросы, попробуйте написать свой собственный макрос. У нас есть таблица, и нам нужно «закрасить» чередующиеся строки таблицы (нечетные будут окрашены в зеленый цвет, четные станут красными). Таблица содержит 200 строк и столбцов от A до S. Вручную это заняло бы много времени. Таким образом, использование макросов будет лучшим решением этой проблемы.
- Откройте редакторы Р7 и создайте новую таблицу.
- Теперь откройте вкладку «Плагины» и выберите «Макросы». Появится окно макросов.
- Щелкните Создать. Вам будет представлена базовая функция-обертка, которая позволит вам ввести необходимый код:
(function() { // ... your code goes here ... })();
- Давайте обратимся к документации API Document Builder, чтобы узнать, что нам нужно для выполнения нашей задачи:
- Сначала получите текущий рабочий лист с помощью метода GetActiveSheet:
var oWorksheet = Api.GetActiveSheet();
- Затем создайте цикл для запуска от первой до последней строки:
for (var i = 1; i < 200; i += 2) { }
- Установите две переменные: одну для нечетных строк, вторую для четных строк:
var rowOdd = i, rowEven = i + 1;
- Теперь, когда у нас есть доступ как к нечетным, так и к четным строкам, давайте раскрасим их в нужные цвета. Установите нужные цвета с помощью метода CreateColorFromRGB. Получите диапазон ячеек в строке с помощью метода GetRange и установите цвет для нечетных строк:
oWorksheet.GetRange("A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(118, 190, 39));
То же самое для четных рядов, но другим цветом:
oWorksheet.GetRange("A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(186, 56, 46));
Теперь давайте подведем итог с полным кодом скрипта:
(function() { var oWorksheet = Api.GetActiveSheet(); for (var i = 1; i < 200; i += 2) { var rowOdd = i, rowEven = i + 1; oWorksheet.GetRange("A" + rowOdd + ":S" + rowOdd).SetFillColor(Api.CreateColorFromRGB(118, 190, 39)); oWorksheet.GetRange("A" + rowEven + ":S" + rowEven).SetFillColor(Api.CreateColorFromRGB(186, 56, 46)); } })();
Вставьте приведенный выше код в окно макросов и нажмите «Выполнить». Строки таблицы от 1 до 200 будут поочередно окрашены менее чем за секунду.
Назначение макросов
В табличном редакторе вы можете назначить макрос графическому объекту:
- Щелкните правой кнопкой мыши графический объект.
- Нажмите «Назначить макрос».
- В появившемся окне выберите макрос. Вы можете ввести имя макроса в соответствующее поле.
- Нажмите кнопку ОК.
Для запуска макроса достаточно кликнуть по графическому объекту и скрипт будет выполнен.