我试图从表单上的文本框获得价值。
sub Test(oEv)
oForm = oEv.Source.Model.Parent
textBox = oForm.getByName("Description")
MsgBox textBox.Text
end sub
有一个例外:“类型:com.sun.star.container.NoSuchElementException”就行“的textBox = oForm.getByName”。 我有相同的形式,其中是按钮,我按运行此宏的名称“描述”文本字段。 这里有什么问题?
检查名称相同的情况下,没有description
。
此外,使用表单导航器 ,以确定是否控制在层次结构的形式下。
你是否尝试过使用一个内省工具,如MRI或XrayTool查看的属性oForm
? 借助该工具,展开形式,看看它是否包含Description
控制。
经常在基地,这是更好地应对形式的记录,而不是阅读的控件。 下面是一些示例代码:
Sub ButtonClickHandler(oEvent as Object)
'com.sun.star.comp.forms.ODatabaseForm
oForm = oEvent.Source.Model.Parent
lDescriptionCol = oForm.findColumn("DESCRIPTION") ' from underlying query or table
Print(oForm.getString(lDescriptionCol))
BasicLibraries.LoadLibrary("XrayTool")
xray(oForm)
End Sub
欲了解更多的想法,看到https://forum.openoffice.org/en/forum/viewtopic.php?f=39&t=38725 。