Top > OOobbs3 > 96

OOobbs3/96 Edit

  • サマリ: 印刷プレビュー判定 OOobbs2/142関連
  • 環境: Basic
  • 状態: 解決
  • 投稿者: セルダン?
  • 投稿日: 2012-06-07 (木) 10:10:11

質問 Edit

今日も感謝でついてる♪

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

対処方法をご教授お願いいたします

回答 Edit

  • identify メソッドは css.lang.XServiceInfo インターフェースを内部で利用していたと思います。ドキュメントオブジェクトの supportsService メソッドでコンポーネントを調べるといいでしょう。 -- はにゃ? 2012-06-07 (Thu) 22:05:56
  • Xubuntu 12.04 32bit 上の LO 3.5.3.2 では Writer と Calc ドキュメントに関しては問題無いようでした。LO はメンテナンスリリースでも色々といじってくるので、最後のバージョンまで書いてもらえると助かります。 -- はにゃ? 2012-06-07 (Thu) 22:09:57
  • 回答感謝します。 どうも、他の修正が影響したようです。 お騒がせしました。 -- セルダン 2012-06-08 (金) 11:15:51

感想,コメント,メモ Edit

  • すみません。質問を編集していたら質問自体が増えてしまいました。削除方法が分かりません。m(__)m -- セルダン 2012-06-07 (木) 10:26:43


Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes