** [[OOobbs2/199]] [#xe78dbdf] -''サマリ'': アウトプット用サービス -''環境'': General -''状態'': 未解決 -''状態'': 投稿 -''投稿者'': [[はにゃ?]] -''投稿日'': 2010-03-07 (日) 00:43:10 *** 質問 [#nd91e97e] 標準出力みたいにアウトプットを表示するウィンドウを提供するサービス。PyUNO が必要。 OOo Basic でちょっとコードを書いていると面倒になってきたので作成。Windows だと標準出力が利用できないが OOo Basic ではそもそも標準出力が使えないのでちょっと print ... したくてもできないのでやになってきた。Windows 上での Python 用に作ったものをいじってサービス化したもの。 &ref(SubOut-0.0.1.oxt); 使いかた - パッケージを拡張機能マネージャからインストール - できれば OOo を再起動します - mytools.SubOutput サービスをインスタンス化して css.task.XJobExecutor インターフェースの trigger メソッドに出力したい文字列を引数として呼び出します。 ウィンドウはサービスで共有、再利用されます。 使いかたその2 想定する使いかたはこんな感じ。bHideMessage をいじる 0 <-> 1 だけで表示は切り替えられる。 #code(basic){{ Sub Main printf("to do \nsomething." & chr(10) & "hoggeg") printf "にほんご" End Sub Dim oSubOutput As Object Const bHideMessage = 0 Sub printf( sText As String ) bBool = bHideMessage If bBool Then Exit Sub If IsNull(oSubOutput) Then oSubOutput = CreateUnoService("mytools.SubOutput") If NOT IsNull(oSubOutput) Then On Error GoTo Handler oSubOutput.trigger(sText) Handler: End If End Sub }} 削除 - パッケージを拡張機能マネージャから削除します - 必要に応じて OOo を再起動します ToDo - フォント変更とか - オプションを指定しての出力。面倒だったので既存のインターフェースを利用。IDL の書きかたでも再利用が推奨されているし・・・。 *** 回答 [#u8864e96] #comment *** 感想,コメント,メモ [#taadd05e] #comment |