方法: プログラムによってブックマークのテキストを更新する
Microsoft Office Word 文書のプレースホルダー ブックマークにテキストを挿入することにより、そのテキストを後で取得したり、ブックマーク内のテキストを置き換えたりすることができます。ドキュメント レベルのカスタマイズを作成する場合は、データにバインドされた Microsoft.Office.Tools.Word.Bookmark コントロール内のテキストを更新することもできます。詳細については、「Office ソリューションでのコントロールへのデータのバインド」を参照してください。
対象: このトピックの情報は、Word 2013 と Word 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。
ブックマーク オブジェクトには次の 2 つの種類があります。
Microsoft.Office.Tools.Word.Bookmark ホスト コントロール
Microsoft.Office.Tools.Word.Bookmark コントロールは、データ バインディングおよびイベントの公開を有効にすることで、ネイティブな Microsoft.Office.Interop.Word.Bookmark オブジェクトを拡張しています。ホスト コントロールの詳細については、「ホスト項目とホスト コントロールの概要」を参照してください。
ネイティブ Microsoft.Office.Interop.Word.Bookmark オブジェクト
Microsoft.Office.Interop.Word.Bookmark オブジェクトには、イベントまたはデータ バインディング機能はありません。
ブックマークにテキストを割り当てる場合、Microsoft.Office.Interop.Word.Bookmark および Microsoft.Office.Tools.Word.Bookmark の動作は異なります。詳細については、「Bookmark コントロール」を参照してください。
ホスト コントロールの使用
Bookmark コントロールを使用してブックマークのコンテンツを更新するには
ブックマークの名前を指定する引数 bookmark と Text プロパティに割り当てる文字列を指定する引数 newText を受け取るプロシージャを作成します。
[!メモ]
Microsoft.Office.Tools.Word.Bookmark コントロールの Bookmark.Text または Bookmark.FormattedText プロパティにテキストを割り当てても、ブックマークは削除されません。
Shared Sub BookMarkReplace( _ ByRef bookmark As Microsoft.Office.Tools.Word.Bookmark, _ ByVal newText As String)
static void BookMarkReplace( ref Microsoft.Office.Tools.Word.Bookmark bookmark, string newText) {
文字列 newText を Microsoft.Office.Tools.Word.Bookmark の Text プロパティに割り当てます。
bookmark.Text = newText End Sub
bookmark.Text = newText; }
Word オブジェクトの使用
Word の Bookmark オブジェクトを使用してブックマークのコンテンツを更新するには
Microsoft.Office.Interop.Word.Bookmark の名前を指定する引数 bookmark とブックマークの Range.Text プロパティに割り当てる文字列を指定する引数 newText を受け取るプロシージャを作成します。
[!メモ]
ネイティブの Word の Microsoft.Office.Interop.Word.Bookmark オブジェクトにテキストを割り当てると、ブックマークは削除されます。
Friend Sub BookMarkReplaceNative( _ ByVal bookmark As Word.Bookmark, _ ByVal newText As String)
internal void BookMarkReplaceNative( Word.Bookmark bookmark, string newText) {
文字列 newText をブックマークの Range.Text プロパティに割り当てます。これによって、ブックマークが自動的に削除されます。Bookmarks コレクションにブックマークを再び追加します。
次のコード例はドキュメント レベルのカスタマイズで使用できます。
Dim rng As Word.Range = bookmark.Range Dim bookmarkName As String = bookmark.Name bookmark.Range.Text = newText Me.Bookmarks.Add(Name:=bookmarkName, Range:=rng) End Sub
object rng = bookmark.Range; string bookmarkName = bookmark.Name; bookmark.Range.Text = newText; this.Bookmarks.Add(bookmarkName, ref rng); }
次のコード例はアプリケーション レベルのアドインで使用できます。この例ではアクティブ ドキュメントを使用します。
Dim rng As Object = bookmark.Range Dim bookmarkName As String = bookmark.Name bookmark.Range.Text = newText Me.Application.ActiveDocument.Bookmarks.Add(Name:=bookmarkName, Range:=rng) End Sub
object rng = bookmark.Range; string bookmarkName = bookmark.Name; bookmark.Range.Text = newText; Word.Document document = this.Application.ActiveDocument; document.Bookmarks.Add(bookmarkName, ref rng); }
参照
処理手順
方法: プログラムによって Word 文書にテキストを挿入する