[要望] カレントディレクトリの移動

  1. Mery のマクロを一通りいじってみて分かったのですが、
    カレントディレクトリが、Mery.exe のディレクトリに固定されていることで、
    使いにくくなっています。

    WScript.Shell を new して、外部プログラムを実行させた場合、処理ファイルを
    フルパス指定する必要があります。 document.Save() もフルパス指定ですし、
    マクロから使うことはないけど、OpenFile() や FindInFiles() もフルパス指定。

    マクロを実行したファイルのあるディレクトリが、
    カレントディレクトリになるようにして欲しいです。
    または、マクロから、カレントディレクトリを変える手段が欲しいです。

     |  kinzoku  |  返信
  2. > Mery のマクロを一通りいじってみて分かったのですが、
    > カレントディレクトリが、Mery.exe のディレクトリに固定されていることで、
    > 使いにくくなっています。

    すみません、これはカレントディレクトリ変更によってフォルダが掴まれた状態になるのを
    防ぐための仕様となっております。

    > または、マクロから、カレントディレクトリを変える手段が欲しいです。

    一応、マクロからはWScript.Shellを使用すればカレントディレクトリを変更することが可能です。

    ↓こんな感じ

    var w = new ActiveXObject("WScript.Shell");
    w.CurrentDirectory = "c:\\";
    // カレントディレクトリを表示
    alert(w.CurrentDirectory);
    editor.OpenFile("a.txt");

    お試しくださいませ。

     |  Kuro  |  返信
  3. >w.CurrentDirectory = "c:\\";
    おおお。灯台下暗し。
    今日は、WScript.Shell を使って、外部プログラムの StdOut の取得と、
    レジストリ操作のテストをやったのに!

     |  kinzoku  |  返信
スポンサーリンク