方法 : Visual Basic または C# のコード エディタでマクロを使用してテキストを追加する

更新 : 2007 年 11 月

機能拡張オブジェクト モデルを使用して、Visual Basic、Visual C#、または Visual J# のコード エディタにコードを追加できます。この機能は、新しいプロシージャや新しい標準コメント ブロックを追加する場合などに使用できます。このタスクは、マクロ開発環境にアクセスしてマクロ プロジェクトを作成する方法を知っていることを前提としています。詳細については、「[マクロ プロジェクトの追加] ダイアログ ボックス」を参照してください。次のサンプル マクロを実装するには、Visual Basic プロジェクトを開いておく必要があります。

次の手順では、Visual Basic コード エディタにテキストを追加します。コードを Visual C# コード エディタに追加するには、手順 5. の prjKindCSharpProject 列挙値を使用します。コードを Visual J# コード エディタに追加するには、手順 5. の prjKindVJSharpProject 列挙値を使用します。

4wf883kx.alert_note(ja-jp,VS.90).gifメモ :

使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。ここに記載されている手順は、全般的な開発設定が適用されているものとして記述されています。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。

アクティブな Visual Basic コード エディタの先頭にテキストを追加するには

  1. EditorMacros という名前の新しいマクロ モジュールを作成します。

  2. マクロ モジュールに次のコードを追加して、新しいマクロ AddSomeText を作成します。

    Public Sub AddSomeText()
       ' Will add code here to add text.
    End Sub
    
  3. 開いているコード エディタを参照する変数を宣言して初期化します。

    Dim doc As Document = DTE.ActiveDocument
    

    詳細については、Document オブジェクトおよび ActiveDocument プロパティに関するトピックを参照してください。

  4. Document オブジェクトには、TextDocument オブジェクトが含まれています。次に示すように、Object メソッドを使用して、このオブジェクトにアクセスできます。

    Dim textDoc As TextDocument = _
       CType(doc.Object("TextDocument"), TextDocument)
    
  5. コードの追加先が Visual Basic コード エディタであることを確認するために、ウィンドウを含むプロジェクトの Kind プロパティをテストできます。

    If doc.ProjectItem.ContainingProject.Kind = _
    VSLangProj.PrjKind.prjKindVBProject Then
       ' Add code here to insert text.
    End If
    
  6. TextDocument オブジェクトを使用して、エディタの先頭に編集ポイントを作成します。次に、Selection プロパティの Insert メソッドを使用して、エディタにテキストを追加します。詳細については、CreateEditPoint メソッドおよび Selection プロパティに関するトピックを参照してください。

    textDoc.StartPoint.CreateEditPoint()
    textDoc.Selection.Insert("' A comment")
    

    完成したマクロは次のようになります。

    Public Sub AddSomeText()
       Dim doc As Document = DTE.ActiveDocument
       Dim textDoc As TextDocument = _
          CType(doc.Object("TextDocument"), TextDocument)
       If doc.ProjectItem.ContainingProject.Kind = _
          VSLangProj.PrjKind.prjKindVBProject Then
          textDoc.StartPoint.CreateEditPoint()
          textDoc.Selection.Insert("' A comment")
       End If
    End Sub
    
  7. マクロを保存して、マクロ IDE を閉じ、マクロ エクスプローラからマクロを実行します。

参照

参照

ActiveDocument

Document

TextDocument