次の方法で共有


Macros.EmitMacroCode メソッド

更新 : 2007 年 11 月

現在記録中のマクロにコード行を書き込みます。このメソッドはマクロから使用しないでください。

名前空間 :  EnvDTE
アセンブリ :  EnvDTE (EnvDTE.dll 内)

構文

'宣言
Sub EmitMacroCode ( _
    Code As String _
)
'使用
Dim instance As Macros
Dim Code As String

instance.EmitMacroCode(Code)
void EmitMacroCode(
    string Code
)
void EmitMacroCode(
    String^ Code
)
function EmitMacroCode(
    Code : String
)

パラメータ

  • Code
    型 : System.String

    必ず指定します。マクロに追加するコード行です。

解説

EmitMacroCode を使用すると、マクロを構築したり、既存のマクロにコードを追加したりできます。

環境がマクロ記録モードでない場合、このメソッドは失敗します。EmitMacroCode は、アドインからのみ使用します。

public void CodeExample(DTE2 dte, AddIn addin)
{
    // INSTRUCTIONS: Run this code, open a solution, start
    // recording a macro, then connect the add-in containing this code.
    try
    {
        Macros mac = dte.Macros;
        if (mac.IsRecording)
        {
            mac.Pause();
            if (!mac.IsRecording)
                mac.Resume();
            mac.EmitMacroCode("rem Code added by the EmitMacroCode method");
            // Demonstrate these two properties return the same reference.
            bool test = mac.DTE.Equals(mac.Parent);
            if (test) MessageBox.Show("The DTE and Parent property refer to the same object.");
            else MessageBox.Show("The DTE and Parent property do not refer to the same object.");
        }
        else MessageBox.Show("Start a macro recording session and reconnect addin");
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

Macros インターフェイス

Macros メンバ

EnvDTE 名前空間

その他の技術情報

マクロの使用による反復操作の自動化