macroStatus
await crafttechApi.macroStatus(counter, isBar, statuses);
Описание
Заголовок раздела «Описание»Выводит на экран окно с прогресс-баром (индикатором выполнения) во время выполнения макроса.
Параметры
Заголовок раздела «Параметры»- counter (number) — счётчик, указывающий, сколько шагов выполняет макрос;
- isBar (boolean) — необязательный параметр; флаг, указывающий, должен ли быть визуализирован индикатор;
- statuses (string[]) — необязательный параметр; массив строк, каждая из которых описывает определенную стадию.
Возвращает
Заголовок раздела «Возвращает»- macroStatus (macroStatusType) — экземпляр класса.
После создания экземпляра через метод macroStatus
, можно вызывать доступные методы для управления состоянием и отображением окна с прогресс-баром.
- nextCount() — перейти на следующий шаг (текущий
counter
увеличится на единицу); - nextStage() — перейти на следующий статус (переход на следующий элемент массива
statuses
).
Здесь важна разница между nextCount
и nextStage
. Есть макросы, где нет необходимо описывать текущую работу макроса столь детально. Однако ряде макросов есть такая потребность — делить макрос на стадии, внутри каждой из которых есть определённый шаги.
Например, вам необходимо перенести данные из одного файла в другой. В исходном файле четыре листа, у этих листов 15203, 29389, 390, 193 ячеек, соответственно. Тогда в counter
передаётся значение, равное сумме количества этих ячеек, а в statuses
, например, строки рода «Копирование %Название_листа%».
const crafttechApi = await getCrafttechApiAsync();const statuses = [ "Создание развёрнутой Таблицы 1", "Создание развёрнутой Таблицы 2", "Создание развёрнутой Таблицы 3", "Создание развёрнутой Таблицы 4", "Создание развёрнутой Таблицы 5",];
const macro = await crafttechApi.macroStatus(800, true, statuses);
let k = 1;let interval = setInterval(() => { if (k % 1 === 0) { macro.nextCount(); }
if (k % 200 === 0) { macro.nextStage(); }
k++;
if (k > 1000) { clearInterval(interval); }}, 10);
Код выше имитирует процесс постепенного обновления прогресс-бара с переключением этапов выполнения на определённых промежутках времени. На реальных макросах применение nextCount
/nextStage
понадобится, например, при завершении определённой функции, цикла или другого фрагмента кода.
Обратная связь: support@crafttech.ru