First Steps with OpenOffice.org Basic をちまちま読んでいこうという記事の2回目。
OpenOffice.org Basic 入門 01 Creating a Module in a Standard Library の続きで、今回はWriting and Debugging a Basic UNO program だ。
前回作った Module1 の Sub main と End Sub の間に以下のコードをコピペする。
‘ ask the user for a graphics file
sGraphicUrl = InputBox(“Please enter the URL of a graphic file”, _
“Import Graphics”, _
“file:///”)
if sGraphicURL = “” then ‘ User clicked Cancel
exit sub
endif‘ access the document model
oDoc = ThisComponent‘ get the Text service of the document
oText = oDoc.getText()‘ create an instance of a graphic object using the document service factory
oGraphicObject = oDoc.createInstance(“com.sun.star.text.GraphicObject”)‘ set the URL of the graphic
oGraphicObject.GraphicURL = sGraphicURL‘ get the current cursor position in the GUI and create a text cursor from it
oViewCursor = oDoc.getCurrentController().getViewCursor()
oCursor = oText.createTextCursorByRange(oViewCursor.getStart())‘ insert the graphical object at the cursor position
oText.insertTextContent(oCursor.getStart(), oGraphicObject, false)
実際にはこうなる。
ここをクリックするとプログラムが実行される。
上の例では以下のようなダイアログが開く。
適当なファイルを指定してみたら、こんなメッセージが出てエラーになった。
たぶんWrite用のものをCalcで実行しているからだろうな。
あと、本家ではデバッグの方法とプログラムのソースの場所というか階層というかについて書いてあるようだったが割愛する。
実は、デバッグに関する部分以外はいまひとつ意味不明。
OpenOffice.org Basic 入門 03 Calling a Sub from the User Interface へ続く