Как получить значение текстового поля - LibreOffice Base
То, что я хочу сделать, довольно просто.
У меня есть форма в LibreOffice Base с текстовым полем для ввода некоторых данных и кнопкой для запуска макроса. Теперь я хочу получить с помощью макроса на кнопке введенное значение текстового поля и распечатать его с помощью функции Печать ("...").
Это то, что я получил так далеко. Не очень, но, возможно, начало:
Sub TestMacro
dim oForm as object
dim oTextbox as object
dim content as object
oForm = thisComponent.drawpage.forms.getByName("form_a")
oTextbox = oForm.getByName("testbox")
content = oTextbox.getText()
Print(content)
End Sub
Любая помощь приветствуется!
2 ответа
Решение
Я нашел ответ самостоятельно. Ключ должен был позволить подпрограмме иметь параметр, поскольку макрос используется при выполнении на кнопке. В случае события вы можете получить Parent, который является формой, с этого момента вы можете получить текстовое поле и его текущее значение. Работает просто отлично для меня.
Вот код
Sub TestMacro(oEvent as object)
DIM oForm AS OBJECT
DIM oField as object
DIM oTField as object
'gets the button
oTField = oEvent.Source.Model
'gets the parent of the button which is the form
oForm = oTField.Parent
'gets the text field based on its name
oField = oForm.getByName("testbox")
'prints the value of the textfield
Print(oField.getCurrentValue)
End Sub