2016-10-21 10 views
0

ブックマークが表のセル内に配置されているかどうかを確認する方法はありますか?もしそうなら、どのようにしてセルのインデックス(行と列)を得ることができますか?ブックマークがセル内に置かれたときを確認するにはどうすればいいですか?

XTextViewCursorのようなものを使用することについて考えましたが、カーソル位置を比較するためにセルカーソルを取得する方法はわかりません。

答えて

1

どうやらブックマークアンカーはTextRangeインターフェイスのように動作し(非Javaソリューションも許容、私はアイデアを取得したいです)。 Andrew Pitonyakのマクロ文書の7.1.2 Can I check the current selection for a TextTable or Cellを参照してください。

次のpythonの例では、アンカーが表のセルにあるかどうかを確認しています。そうであれば、それは行と列を決定することができるセル名を取得します。

私のテストでは、セル名はB2でした。単純な表の場合、B2は単に2番目の行と2番目の列を意味します。複数の列にまたがる行、または複数の行にまたがる列を持つ表では、より複雑な場合があります。あなたはまた、propsから"TextTable"を抽出してcellのプロパティからを取得することができ

XTextRange bookmark = getBookmarkByName(bookmarkName); 
XPropertySet props = UnoRuntime.queryInterface(XPropertySet.class, bookmark); 
Object maybeCell = props.getValue("Cell"); 
XCell cell = UnoRuntime.queryInterface(XCell.class, maybeCell); 

+0

ありがとうございます! – soon

0

@のJIMKの回答に基づいてJavaソリューションは、あります。

関連する問題