Top > OOoBasic > Writer > Bookmark

*ブックマーク [#m9426d7d]

テキストマークのこと。ブックマークで同じ名前を持つものは一度だけ挿入できます。

#contents
**ブックマークコンテナ [#x2410879]

ドキュメント中にあるブックマーク全てが含まれるコンテナオブジェクト。同名のブックマークがあるかどうか調べるときなどに利用。

 Sub bookmark_1
   oDoc = ThisComponent
   oBookmarks = oDoc.getBookmarks()
   msgbox oBookmarks.hasByName("NewBookmark")
 End Sub

**ブックマークの挿入 [#qe7bc41f]

テキストコンテンツを挿入する方法で com.sun.star.text.Bookmark サービスをインスタンス化したのち、ブックマーク名を設定してから挿入します。一度しか挿入できません。

 Sub bookmark_2
   oDoc = ThisComponent
   oText = oDoc.getText()
   oViewCursor = oDoc.getCurrentController().getViewCursor()
   oBookmark = oDoc.createInstance("com.sun.star.text.Bookmark")
   oBookmark.Name = "NewBookmark"
   
   oText.insertTextContent(oViewCursor,oBookmark,False)
 End Sub

**ブックマークの削除 [#y620d740]

ブックマークはテキストコンテンツの削除と同じです。

 Sub bookmark_3
   oDoc = ThisComponent
   oText = oDoc.getText()
   oBookmarks = oDoc.getBookmarks()
   oBookmark = oBookmarks.getByName("NewBookmark1")
   oText.removeTextContent(oBookmark)
 End Sub
**ブックマークの参照 [#u81fe329]

ブックマークへ移動するハイパーリンクを作成するときには HyperLinkURL プロパティに次のように設定します。

 oViewCursor.HyperLinkURL = "#NewBookmark"

**ドキュメントを開いたときにブックマークを表示 [#t52ff723]
ドキュメントを開いたときにブックマークの位置を表示するには次のように HTML でのアンカー指定のようにブックマーク名を指定します。

 Sub bookmark_10
  sFileURL = "file:///home/user/Desktop/BookmarksMenu_ja-JP.odt"
  sMark = "dialog"
  
  sURL = sFileURL & "#" & sMark
  StarDesktop.loadComponentFromURL(sURL,"_blank",0,Array())
 End Sub

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