2016-09-29 20 views
1

フォームのテキストフィールドから値を取得しようとしています。ライン "てtextBox = oForm.getByName" 上: "com.sun.star.container.NoSuchElementExceptionタイプ:"LibreOffice基本フォームからフォームを取得

sub Test(oEv) 

oForm = oEv.Source.Model.Parent 
textBox = oForm.getByName("Description") 
MsgBox textBox.Text 

end sub 

例外があります。私は同じフォーム上に "Description"という名前のテキストフィールドを持っています。このマクロは、このマクロを実行するために押すボタンです。ここで何が間違っていますか?

答えて

2

名前が同じ場合、descriptionではないことを確認してください。

また、Form Navigatorを使用して、コントロールが階層内のフォームにあるかどうかを判断します。

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を参照してください。ここではいくつかのサンプルコードです。

+0

ご協力いただきありがとうございます。私はMRIを試みましたが、それは解決策を見つけるのを助けることができませんでした。その後、私はLibreOfficeを再起動しようとしました。この問題の原因を知りません。 –

関連する問題