Обновить
0
0

Пользователь

Отправить сообщение

Неа, нифига( такая хитрость не сработала, ошибку выдал

ОМГ. Спасибо добрый человек) В жизни бы не догадался сделать еще какие то манипуляции, что бы так сказать "обновилось окно приложения", что бы стали видимыми листы... да уж, рф софт топчик. Ладно будет делать извраты в коде, путь хоть как-нибудь работает)

Добрый день, увы та же ситуация, ячейка редактируется а лист не добавляется. Вот листинг на всякий, вроде все правильно сделал...

bu:setOnClick(function ()

Frm.context.doWithDocument(function(document)

local listMPD = document:getBlocks():getTable("MPD TASK") listMPD:getCell(DocumentAPI.CellPosition(1, 1)):setFormattedValue('MISHA') document:getRange():getEnd():insertTable(1, 30, 'z')

end)

end)

Я бы тоже не стал в setOnDone это делать, но других вариантов пока не придумал))

Задача такова: открыть диалоговое окно, ввести в поле в этом окне число и грубо говоря создать указанное количество листов и заполнить их данными. Все было сделано, все работало, кроме формы (на макрокомандах делал изначально). И вот когда я добрался до форм и надстроек столкнулся с такой проблемой.

И да новый лист в эксельке создается именно так) По крайней мере я пока не нашел иных способов - и в документации так и в гугле так и в записанном макросе тоже так.

А что значит навесить на отдельную кнопку? Я так понял все равно это будет форма и на форме кнопка и все равно нужно будет отлавливать клик по кнопке вы это имели в виду?

Я понял что недостаточно дал вводной информации))

Во 1 речь про "эксель" и вставку листа, а не обычной таблицы в текстовый документ.

Во 2 у вас идет вставка в новый (созданный документ), а у меня в текущий

В 3 с синтаксисом ошибок вроде нет, я просто строку где добавляется новый лист вынес перед setOnDone - все работает, внутри setOnDone - не работает, хотя как я уже писал изменить значение ячейки например - без проблем.

В любом случае спасибо за ответ

Отличная статья, помогла мне почти сделать нужный скрипт, есть только 1 проблема:

doc:getRange():getEnd():insertTable(1, 30, 'z') - не работает в setOnDone. Уже какие только способы не испробовал, ни в какую...

Если использовать Frm.context.doWithDocument, то с текущим документом можно работать, данные редактируются, но вот вставить новый лист не получается, причем и ошибок никаких нет.

Может кто-то знает как это решить?

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность