1

我正在尝试从表单上的文本字段中获取价值。

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”行上。我在同一个表单上有一个名为“描述”的文本字段,我按下以运行此宏的按钮在哪里。这里有什么问题?

4

1 回答 1

2

检查名称是否相同,而不是description.

此外,使用表单导航器来确定控件是否在层次结构中的表单下。

您是否尝试过使用诸如MRIXrayTool之类的内省工具来查看 的属性oForm?使用该工具,展开表单以查看它是否包含Description控件。

通常在 Base 中,最好将表单作为记录集处理,而不是读取控件。这是一些示例代码:

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

于 2016-09-29T12:54:15.207 回答