次の方法で共有


Macros.Pause メソッド

現在記録中のマクロにコードが書き込まれないように、マクロ レコーダーを一時停止します。このメソッドはマクロから使用しないでください。

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

構文

'宣言
Sub Pause
void Pause()
void Pause()
abstract Pause : unit -> unit 
function Pause()

解説

あるマクロ コマンドでタスクを実行するために他のマクロ コマンドを起動する場合、呼び出されたコマンドをマクロに記録する必要がないときは、Pause を使用すると便利です。この場合、呼び出し側のコマンドがコマンドの動作全体を取り込むコードを生成します。

一時停止後にマクロ記録を再開するには、Resume を使用します。Pause は、アドインからのみ使用します。

マクロ記録モードでないときに、アドインで Pause メソッドを呼び出すと、メソッドでは何の処理も行われませんが、エラーは発生しません。

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);
    }
}

.NET Framework セキュリティ

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

参照

関連項目

Macros インターフェイス

EnvDTE 名前空間

その他の技術情報

Automating Repetitive Actions by Using Macros