プログラムによって文書内の範囲または選択範囲を折りたたむ

Range または Selection オブジェクトを使用する場合、既存のテキストが上書きされないように、テキストを挿入する前に、選択範囲を挿入ポイントに変更できます。 Range および Selection オブジェクトには両方とも Collapse メソッドがあります。このメソッドは WdCollapseDirection 列挙値を利用します。

範囲を縮小して新しいテキストを挿入するには

  1. ドキュメントの最初の段落で構成される Range オブジェクトを作成します。

    次のコード例はドキュメント レベルのカスタマイズで使用できます。

    Word.Range rng = this.Paragraphs[1].Range;
    

    次のコード例は VSTO アドインで使用できます。 このコードでは作業中のドキュメントを使用します。

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
  2. wdCollapseStart 列挙値を使用して、範囲を縮小します。

    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
  3. 新しいテキストを挿入します。

    rng.Text = " New Text ";
    
  4. Range を選択します。

    rng.Select();
    

    wdCollapseEnd 列挙値を使用すると、テキストは次の段落の先頭に挿入されます。

    rng.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
    

新しい文を挿入すると、段落記号の前に挿入されると期待するかもしれませんが、それは当てはまりません。元の範囲に段落記号が含まれているためです。

ドキュメント レベルのカスタマイズの例

ドキュメント レベルのカスタマイズで範囲を縮小するには

  1. 次の例は、ドキュメント レベルのカスタマイズのメソッド全体を示しています。 このコードを使用するには、プロジェクトの ThisDocument クラスから実行します。

    Word.Range rng = this.Paragraphs[1].Range; 
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart); 
    
    rng.Text = " New Text ";
    rng.Select();
    

VSTO アドインの例

VSTO アドインで範囲を縮小するには

  1. 次の例は、VSTO アドインのメソッド全体を示しています。 このコードを使用するには、プロジェクトの ThisAddIn クラスから実行します。

    Word.Range rng = this.Application.ActiveDocument.Paragraphs[1].Range;
    
    rng.Collapse(Word.WdCollapseDirection.wdCollapseStart);
    
    rng.Text = " New Text ";
    rng.Select();