formModel等の型名を調べるのが面倒だったので断念。(っていうかこれWriterでしか動作してなかった。これからCalcについて調べます。
→調べました。
ThisComponent.DrawPage => ThisComponent.getSheets().getByIndex(0).DrawPageで行けそうです。
また、getControl(y)はgetControl(buttonModel)の間違いです。実験時に使っていた変数が残ってました。
それから、このコードでリスナを追加した場合、削除しないとファイルを閉じる時にエラーが出るようなのでremoveActionListenerするため、Global変数に保存しておくほうがいいようです。createUnoListenerをニ回も実行する必要はありませんでしたね。
REM ***** BASIC *****
Option Explicit
Global actionListener As Object
Public Sub Main()
REM (略)
actionListener = CreateUnoListener("Buttons_","com.sun.star.awt.XActionListener")
buttoncontrol.addActionListener(actionListener)
REM (略)
End Sub
Public Sub EndExperiment()
REM (略)
buttoncontrol.removeActionListener(actionListener)
REM (略)
End Sub
GlobalとPublicの違いについては再度勉強してきます。