[Решено] Как правильно обратиться к кнопке на странице

Автор Sirius34, 11 мая 2024, 13:59

0 Пользователи и 1 гость просматривают эту тему.

Sirius34

Всем доброго времени суток!

На листе расположена кнопка, по нажатию на которую отрабатывает макрос.
Текст на кнопке динамически меняется (буквально недавно мне тут на форуме коллеги помогли с этим вопросом).
Я наивно :) посчитал, что проблема решилась. Но не тут-то было.
Стоило мне прописать кнопку в "живой" книге, как скрипт сразу "потерял" кнопку.
Путём экспериментов пришёл к выводу, что в книге с несколькими листами адресация на конкретную кнопку должна происходить как-то по другому.
Отсюда вопрос: как правильно обратиться к кнопке "Button 2", расположенной на листе "BaseusList" ?
oModel=ThisComponent.DrawPages(0).Forms(0).GetByName("Button 2")Простым перебором чисел в блоке DrawPages(x) я, конечно, "нашёл" кнопку, но не исключён вариант, что в книге может измениться количество / порядок листов или ещё что-то...

sokol92

В Вашем случае можно так:
oModel=ThisComponent.Sheets.getByName("BaseusList").DrawPage.Forms(0).GetByName("Button 2")
Владимир.

economist

В штатной либе Tools есть getControlModel getControlView getControlShape
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Sirius34

sokol92
economist
Спасибо большое за помощь!
Попробовал оба варианта, всё работает.