0

OpenOffice BasicforWriterで簡単なスクリプトを開発しています。私はこのようなコードを持っています:

vText = ThisComponent.Text
vc = ThisComponent.CurrentController.getViewCursor()
c = vText.createTextCursorByRange(vc.getstart())
baseM = c.ParaLeftMargin

http://www.openoffice.org/api/docs/common/ref/com/sun/star/text/XSimpleText.html#createTextCursorByRangeに従って、createTextCursorByRangeはXTextCursorタイプのオブジェクトを返します。ParaLeftMarginは、サービスParagraphPropertiesのプロパティです。しかし、このドキュメントでは、XTextCursorがParagraphPropertiesにどのように接続されているかを見つけることができません。

私の質問は、カーソルオブジェクトでParaLeftMarginにアクセスできるのはなぜですか?

4

1 に答える 1

1

com.sun.star.text.XTextCursorにParaLeftMarginプロパティがあると主張していますが、これは実際には単なる偶然です。

com.sun.star.text.XTextCursorは、SwXTextCursorによって実装されるインターフェースです。この実装は、ParaLeftMarginプロパティを提供するcom.sun.star.style.ParagraphPropertiesサービスもサポートします。

特定のUNOオブジェクトがどのインターフェイス/サービスをサポートしているかを知りたい場合は、xrayのようなデバッガーが最適なツールです。

http://wiki.openoffice.org/wiki/Extensions_development_basic#Xray_tool

于 2013-01-03T19:07:01.507 に答える