次の方法で共有


方法: プログラムによってブックマークのテキストを更新する

Microsoft Office Word 文書のプレースホルダー ブックマークにテキストを挿入することにより、そのテキストを後で取得したり、ブックマーク内のテキストを置き換えたりすることができます。ドキュメント レベルのカスタマイズを作成する場合は、データにバインドされた Microsoft.Office.Tools.Word.Bookmark コントロール内のテキストを更新することもできます。詳細については、「Office ソリューションでのコントロールへのデータのバインド」を参照してください。

対象: このトピックの情報は、Word 2013 と Word 2010 のドキュメント レベルのプロジェクトおよびアプリケーション レベルのプロジェクトに適用されます。詳細については、「Office アプリケーションおよびプロジェクト タイプ別の使用可能な機能」を参照してください。

ブックマーク オブジェクトには次の 2 つの種類があります。

ブックマークにテキストを割り当てる場合、Microsoft.Office.Interop.Word.Bookmark および Microsoft.Office.Tools.Word.Bookmark の動作は異なります。詳細については、「Bookmark コントロール」を参照してください。

ホスト コントロールの使用

Bookmark コントロールを使用してブックマークのコンテンツを更新するには

  1. ブックマークの名前を指定する引数 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)
    {
    
  2. 文字列 newText を Microsoft.Office.Tools.Word.BookmarkText プロパティに割り当てます。

        bookmark.Text = newText
    End Sub
    
        bookmark.Text = newText;
    }
    

Word オブジェクトの使用

Word の Bookmark オブジェクトを使用してブックマークのコンテンツを更新するには

  1. 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)
    {
    
  2. 文字列 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 文書にテキストを挿入する

概念

Bookmark コントロール

その他の技術情報

Word オブジェクト モデルの概要