Перейти к содержимому

reRenderSheet

crafttechApi.reRenderSheet();

Обновляет данные на текущем листе файла, из которого запущен текущий макрос.

Метод не принимает параметров.

Метод ничего не возвращает.

const sheet1 = Api.GetSheet("Лист1");
Api.AddSheet("Лист2");
const sheet2 = Api.GetSheet("Лист2");
sheet2.SetActive();
sheet1.SetName("test");

В этом коде мы создаём новый лист «Лист2», а лист «Лист1» переименовываем в «test». После выполнения кода кажется, что «Лист1» остался с прежним названием, но если создадим новый лист вручную (через +), либо запустим макрос ещё раз, то название листа уже поменялось. Эти изменения вписались, но не сразу изменились.

Дело в том, что в Р7-Офис повторный рендеринг текущего состояния листа зачастую происходит лишь после проделывания каких-то действий вручную. Для нас это может быть критично, поэтому был создан метод, обновляющий данные на текущем листе.

const sheet1 = Api.GetSheet("Лист1");
Api.AddSheet("Лист2");
const sheet2 = Api.GetSheet("Лист2");
sheet2.SetActive();
sheet1.SetName("test");
crafttechApi.reRenderSheet();

Теперь лист переименуется сразу.