【要望】マクロから Mery を終了

  1. ks です,いつもマクロで遊ばせていただいています.

    早速要望ですが,Mery をタブ分離で複数ウィンドウ(エディタ)にしている状態で,
    マクロから全てのウィンドウ(エディタ)を終了する手段を用意してもらえないでしょうか.

    window.Close() だとマクロを実行したウィンドウ(エディタ)しか閉じないので.
    Document.Close() のように,Editor.Close() を用意していただけると助かります.

    用途としては,現在マクロライブラリで公開している「中断・再開マクロ」のタブ分離対応です.

    一応 JScript の機能で可能ではありますが,あまりトリッキーなことはしたくないので.
    是非ご検討お願いします.

    なお,以下は一応全ての Mery ウィンドウを閉じるマクロです.
    var shell = new ActiveXObject("WScript.Shell");
    var s = "javascript:L:a=new ActiveXObject('WBemScripting.SWbemLocator');b=a.ConnectServer();r=new Enumerator(b.ExecQuery('Select * From Win32_Process Where ExecutablePath Like \\'%\\\\\\\\Mery.exe\\''));for(;!r.atEnd();r.moveNext()){r.item().Terminate()}close()";
    shell.Run('mshta.exe "' + s + '"', 0, false);

     |  ks  |  返信
  2. ks さん、こんばんは。
    マクロライブラリに色々と投稿してくださり、ありがとうございます。

    アップデート確認マクロ、これは便利です!
    そして斬新なアイデア、驚きました。まさかマクロでできちゃうとは・・・。

    > window.Close() だとマクロを実行したウィンドウ(エディタ)しか閉じないので.
    > Document.Close() のように,Editor.Close() を用意していただけると助かります.

    なるほどですね、おっしゃる通りです。
    Document.Close() は「閉じる」ボタンと同じ動作なので、最後の一枚のタブは閉じれませんしね。。。

    なんとか全部のウィンドウを閉じようと色々考えてみましたが、Editor.Close() のようなメソッドを用意するのが一番手っ取り早いし綺麗ですね。

    Editor.SaveCloseAll() というメソッドはすでに存在していましたので、これに準拠して、Editor.CloseAll() というメソッドを用意しました。(Mery 2.0.15.4235)

    「ファイル」メニューの「すべて閉じる」と同じ動作ですので、Editor.CloseAll(); ですべてのウィンドウを閉じます。お試しくださいませ。

     |  Kuro  |  返信
  3. Kuro さん,こんばんは.

    早速のご対応,ありがとうございます.確認して組み込んで更新しておきました.
    http://www.haijin-boys.com/wiki/終了時状態保持・復元

    > アップデート確認マクロ、これは便利です!
    そう言っていただけると作ったかいがあります.
    ただ内容的には html ファイルをダウンロードして場所決め打ちでバージョン拾ってきているだけですが...

    現在はダウンロードして更新を適用するところまで実装している最中です.
    (その過程で Mery を全て終了させる「中断・再開マクロ」が必要になったので今回の要望につながりました)

     |  ks  |  返信
  4. ども!こんばんは。

    > 早速のご対応,ありがとうございます.確認して組み込んで更新しておきました.
    http://www.haijin-boys.com/wiki/終了時状態保持・復元

    早っ!
    とりあえず CloseAll で事足りたようで、安心しました。

    > ただ内容的には html ファイルをダウンロードして場所決め打ちでバージョン拾ってきているだけですが...

    実はソースも拝見させていただいておりました。
    ウェブサイトとかマクロとかそういう系のモノは、とりあえずソースを見る、という癖がついてしまっていて(笑

    力技ですが、一応 Wiki のダウンロードサイトも定型の書式に従って更新していますので、大丈夫っぽいですね。逆に、書式を変えちゃうとマズイですが・・・。

    > 現在はダウンロードして更新を適用するところまで実装している最中です.

    すごすぎます。
    他のソフトにあればぜひ使いたい機能ですが、Mery に関しては私のパソコンの Mery が一番最新なので使う必要が無いという悲しい感じではあります^^;

     |  Kuro  |  返信
  5. > 力技ですが、一応 Wiki のダウンロードサイトも定型の書式に従って更新していますので、大丈夫っぽいですね。逆に、書式を変えちゃうとマズイですが・・・。
    ここは完全に Kuro さん頼りですね.
    ただ取得できない場合は何もしないだけなので,変に更新してしまうようなことはないはず...
    JavaScriptなので,仕様変更で何か問題が発生しても誰かが直してくれると信じています.

    > 他のソフトにあればぜひ使いたい機能ですが、Mery に関しては私のパソコンの Mery が一番最新なので使う必要が無いという悲しい感じではあります^^;
    言われてみれば,確かにそうですね(w
    作っている私も,確認のために最新版は入れていないという本末転倒ぶりですが.

    個人的には某シェアウェアエディタにある機能で,利用者いそうだなという機能を実装するのが楽しいです.

     |  ks  |  返信
  6. > ここは完全に Kuro さん頼りですね.

    ですねw
    面倒くさがり屋の私はおそらく書式を変えたりはしないと思いますのでご安心を。

    > JavaScriptなので,仕様変更で何か問題が発生しても誰かが直してくれると信じています.

    マクロだと誰でもカスタマイズできるのがメリットですね。
    昔はマクロとか難しそうで敬遠されていた方も、最近では Mery を使うことでマクロが身近になったっていう方も何人かいらして、なんか嬉しい気持ちになります。JavaScript とかの勉強にもなりますしねw

    > 個人的には某シェアウェアエディタにある機能で,利用者いそうだなという機能を実装するのが楽しいです.

    同意です!そして、誰かが作ってくれた機能を私が便利に使わさせていただく、という裏の企みがあったりします。

     |  Kuro  |  返信