Получения доступа к элементу управления
Для начала, необходимо получить объект коллекции форм:
desktop = XSCRIPTCONTEXT.getDesktop()
doc = desktop.loadComponentFromURL( "file:///C:/test/document.odt", "_default", 0, () )
forms = doc.DrawPage.Forms
Далее, получим объект формы:
form = forms.getByName("Form1")
В представленном выше примере мы получаем объект формы по имени или индексу, используя метод getByName() или getByIndex().Чтобы узнать имя формы, можно щелкнуть правой кнопкой мыши на элементе управления в режиме разработки, затем выбрать "Свойства формы" -> "Общие" -> "Имя".
Получим объект элемента управления:

control = form.getByIndex(0)
Получив объект элемента управления, мы можем просмотреть и изменить его параметры. Например, состояние и текст:
control.State = 1
control.Label = "CheckBox"
Элемент управления после запуска макроса:

Для просмотра всех доступных параметров элементов управления можно вывести их в документ:
props = control.getPropertySetInfo().getProperties()
for prop in props:
propName = prop.Name
propValue = control.getPropertyValue(propName)
text.insertString(cursor, propName + ": " + str(propValue) + "\n", False)
Выполнение действий при изменении состояния
При работе с формами есть возможность привязать выполнение функции к определенным условиям. Например, изменение цвета фона при определенном тексте в текстовом поле.
Пример функции для изменения цвета фона в текстовом поле:
def change_back_color(text_event):
back_color = 0xFFFFFF
if text_event.Source.Model.Text == "red":
back_color = 0xFF0000
elif text_event.Source.Model.Text == "blue":
back_color = 0x0000FF
text_event.Source.Model.BackgroundColor = back_color
В данном примере цвет фона текстового поля изменяется в зависимости от введенного текста.
Далее необходимо связать созданную функцию с событием изменения текста в свойствах элемента управления во вкладке "События".