windows10
LibreOffice 7.1.0.3
LibreOffice Baseで作成したDialogにはデフォルトでonLoadや読み込み時のイベントがありません。
イベントリスナーを作ろうとしているのですが、
VBA
1'ボタンクリックでdFindUserダイアログを開きます。 2'そのdFindUserダイアログのonLoadイベントをハンドリングしたいです。 3Sub onButtonClick() 4 Dim evListener As Object 5 DialogLibraries.LoadLibrary("Standard") 6 FindUserDialog=CreateUnoDialog( DialogLibraries.Standard.dFindUser ) 7 evListener=CreateUnoListener( "FindUserDialog_","com.sun.star.awt.XTopWindowListener" ) 8 FindUserDialog.addTopWindowListener( evListener ) 9 10 FindUserDialog.Execute() 11 FindUserDialog.Dispose() 12End Sub 13 14'windowOpenedハンドラ 15Function FindUserDialog_windowOpened( oEv As com.sun.star.lang.EventObject ) 16 MsgBox "test" 17End Function 18 19'disposingハンドラ 20Sub FindUserDialog_disposing( oEv As com.sun.star.lang.EventObject ) 21End Sub
http://www.openoffice.org/api/docs/common/ref/com/sun/star/awt/XTopWindowListener.html#windowOpened
http://hermione.s41.xrea.com/pukiwiki/index.php?OOoBasic%2FDialog%2FEvent
↑これらサイトを参考に書いてみたのですが、実行すると、、、
- "BASIC ランタイムエラー.次のプロパティまたはメソッドが見つかりません: $(ARG1)。"というエラーのメッセージボックスが2度表示された後、
- "test"のメッセージボックスが表示され、
- 一瞬dFindUserダイアログが表示され、
- 再度 "BASIC ランタイムエラー.次のプロパティまたはメソッドが見つかりません: $(ARG1)。"というエラーのメッセージボックスが表示され
- 親windoswにフォーカス(フォアグラウンド)が当たろうとするたび "BASIC ランタイムエラー.次のプロパティまたはメソッドが見つかりません: $(ARG1)。"のエラーダイアログの表示
- 結果Base自体が終了できなくなる。
ということを繰り返しています。
"test"のメッセージボックスが表示されるということはハンドリングできているとおもわれるのですが、、、一瞬dFindUserダイアログも表示されますし。
試行錯誤したのですが、どこが悪いのか解決できそうにありません。
お知恵を拝借できないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。