OOobbs3/114
質問
OpenOfficeのCalcについての質問になります。 ファイルに複数のシートが有り、コマンドボタンを押すことにより、任意のシートのみを印刷する方法(マクロプログラム)を教えてください。 また、印刷が終了したか、終了してないか、プログラムより確認する方法ありますか?教えてください。 今現在は、下記の手順にて行っています。 ①印刷したいシートをプログラムにより切換えアクティブにする。 ②印刷命令を実行する。 ③印刷が終了するのを待つ。(数秒間待っているだけ) 以上、ご教授おねがいいいたします。 回答
... listener = CreateUnoListener("PrintJobListener_", "com.sun.star.view.XPrintJobListener") oDoc.addPrintJobListener(listener) oDoc.print(args) Sub PrintJobListener_printJobEvent(ev) msgbox ev.State End Sub Sub PrintJobListener_disposing(ev) End Sub ファイルへの印刷では JOB_STARTED、JOB_SPOOLED の順に通知されたものの、JOB_COMPLETED が渡されませんでした。環境に応じてテストが必要でしょう。メソッドと引数については com.sun.star.view.XPrintJobListener。 また、追加したリスナーは非同期で呼ばれるようなので、リスナーを削除するには、リスナー(とドキュメントのセット)をグローバル変数に保管しておく必要があるかもしれません。
感想,コメント,メモ
|