如何获取文本框的值 - LibreOffice Base

时间:2018-03-20 14:55:13

标签: libreoffice base basic

我想做的事情很简单。

我在LibreOffice Base中有一个表单,其中包含一个用于输入某些数据的文本框和一个用于执行宏的按钮。 现在我想在单击按钮上使用宏输入文本框的值并使用Print(“...”)函数打印它。

这是我到目前为止所得到的。不多,但也许是一个开始:

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

感谢任何形式的帮助!

1 个答案:

答案 0 :(得分:0)

我自己找到了答案。关键是让子程序有一个参数,因为宏用于按钮上的执行。在整个事件中,您可以获得作为表单的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