入門編 ~秀丸マクロの変数は、マクロ実行中のみアクセス可能~

概要

hm.NETでは秀丸マクロで定義されている変数はマクロ実行中のみアクセス可能です。

以下の例で、

  • 常時利用可能な「Hm.Edit.FilePath」と、
  • マクロ実行中のみアクセス可能な「Hm.Macro.Var["filename2"]」

の違いを認識しましょう。

秀丸マクロの変数は、マクロ実行中のみアクセス可能

マクロ実行中のみ、読み取り・書き換え可能

Hm.Macro.Var["変数名"]
  • C#側のソース

    MyTestForm.cs
    using System;
    using System.Windows.Forms;
    using Hidemaru;
    
    namespace HmTest
    {
        partial class HmTestForm
        {
            protected void MethodCreate()
            {
                System.Diagnostics.Trace.WriteLine("フォーム生成時");
    
                var fn1 = Hm.Edit.FilePath;
                System.Diagnostics.Trace.WriteLine(fn1);
                var fn2 = Hm.Macro.Var["filename2"];
                System.Diagnostics.Trace.WriteLine(fn2);
            }
            protected void MethodTick()
            {
                try
                {
                    var fn1 = Hm.Edit.FilePath;
                    System.Diagnostics.Trace.WriteLine(fn1);
                }
                catch (Exception e)
                {
                    System.Diagnostics.Trace.WriteLine(e);
                }
    
                try
                {
                    var fn2 = Hm.Macro.Var["filename2"];
                    System.Diagnostics.Trace.WriteLine(fn2);
    
                }
                catch (Exception e)
                {
                    System.Diagnostics.Trace.WriteLine(e);
                }
                System.Diagnostics.Trace.WriteLine("チック時");
            }
            protected void MethodDestroy()
            {
                System.Diagnostics.Trace.WriteLine("フォームクローズ時");
            }
        }
    
    }
    
    
    
  • 秀丸マクロ側のソース

    前章の「HmNETTest.mac」と同一です。
    一度マクロを実行し、「デバッグモニター」にどのように順次表示されるか確認しましょう。

    「Hm.Macro.Var["filename2"]」は、チック時にはアクセスできないため、例外が発生することを確認しましょう。