4
セル値がブックマークであり、ブックマークがプログラムで更新されたときに、OpenOffice Writer(3.3)セルの計算をプログラムでリフレッシュする方法を見つけようとしています。 Javaでの呼び出し)。OpenOffice writer - プログラムでセル式を使用してテーブルを更新する
例
| start | stop | duration |
| 9:30 | 11:30 | = <A2>-<B2> | <= cell formula
これは、ユーザーが手動でテーブルを編集しているとき、彼らは次のセルに移動すると、値が更新されて正常に動作します。しかし、セルのブックマークにテキストを挿入して値をプログラムで更新すると、計算されたセルは更新されません。あなたがテーブルをクリックすると更新されますが、私はこれを自動的にしたいと思います。
ブックマークは次のような表にあります。
| start | stop | duration |
| <start0> | <stop0> | = <A2>-<B2> |
例コードブックマークを更新する:
XBookmarksSupplier xBookmarksSupplier = (XBookmarksSupplier) UnoRuntime.queryInterface(XBookmarksSupplier.class, document);
XNameAccess xNamedBookmarks = xBookmarksSupplier.getBookmarks();
Object bookmark = xNamedBookmarks.getByName("stop0");
XTextContent xBookmarkContent = (XTextContent) UnoRuntime.queryInterface(XTextContent.class, bookmark);
xBookmarkContent.getAnchor().setString("11:30");
// code needed to force calculation of duration cell