お世話になります。以下のコードで5秒おきに関数を実行したいのですがoTimer.addActionListenerの行で「オブジェクト変数は設定できていません。」というエラーが発生します。
ネット上様々検索をかけたのですが該当の情報がなかなか見つかりません。
この5秒おきに実行するコードを実現したいです。
ご助力お願いいたします。
※waitでの実装はメモリなどへの影響から考慮しません。
Sub timer_start()
Dim oTimer As Object
If IsNull(oTimer) Then '二重起動防止
oTimer = CreateUnoService("com.sun.star.awt.XTimer") 'タイマーサービスを作成
oTimer.addActionListener(CreateUnoListener("aaa_", "com.sun.star.awt.XActionListener")) 'イベントハンドラを設定
oTimer.Start(5000) 'インターバルを5000ミリ秒(5秒)に設定してタイマーを開始
End If
End Sub
Sub timer_event(oEvent As Object)
'タイマーイベントの処理
MsgBox "Timerイベント発生!", 0, "確認"
End Sub
Sub timer_stop()
If Not IsNull(oTimer) Then
oTimer.Stop()
RemoveHandler oTimer.Timer, "timer_event" 'イベントハンドラを削除
oTimer.Dispose()
oTimer = Null
End If
End Sub