- サマリ: 印刷プレビュー判定 OOobbs2/142関連
- 環境: Basic
- 状態: 解決
- 投稿者: セルダン?
- 投稿日: 2012-06-07 (木) 10:10:11
質問 
今日も感謝でついてる♪
OOobbs2/142で印刷プレビューの判定について書かれていますが、
同様の方法をLibreOffice3.5で実行するとエラーになってしまいます。
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| | Sub test_a
msgbox IsPrintPreview( ThisComponent )
End Sub
Function IsPrintPreview( oDoc ) As Boolean
Dim bPreview As Boolean
sViewInterface = ""
oModMgr = CreateUnoService( _
"com.sun.star.frame.ModuleManager")
sModule = oModMgr.identify(oDoc) ←ここでエラー
Select Case sModule
Case "com.sun.star.text.TextDocument"
sViewInterface = "com.sun.star.view.XViewSettingsSupplier"
Case "com.sun.star.sheet.SpreadsheetDocument"
sViewInterface = "com.sun.star.sheet.XSpreadsheetView"
Case Else
sViewInterface = ""
End Select
If sViewInterface <> "" Then
oController = oDoc.getCurrentController()
bPreview = NOT HasUnoInterfaces(oController, sViewInterface)
End If
IsPrintPreview = bPreview
End Function
|
対処方法をご教授お願いいたします
回答 
- identify メソッドは css.lang.XServiceInfo インターフェースを内部で利用していたと思います。ドキュメントオブジェクトの supportsService メソッドでコンポーネントを調べるといいでしょう。 -- はにゃ?
- Xubuntu 12.04 32bit 上の LO 3.5.3.2 では Writer と Calc ドキュメントに関しては問題無いようでした。LO はメンテナンスリリースでも色々といじってくるので、最後のバージョンまで書いてもらえると助かります。 -- はにゃ?
- 回答感謝します。 どうも、他の修正が影響したようです。 お騒がせしました。 -- セルダン
感想,コメント,メモ 
- すみません。質問を編集していたら質問自体が増えてしまいました。削除方法が分かりません。m(__)m -- セルダン