マクロのコピペにイライラする。
時間がないのに。コピペ部分の編集が手間。
マクロをImport出来ると便利なんだよね。
よし、じゃ、やろう。
方法A
EmEditorのマクロをWindows Script Component(.wsc)としてライブラリ化する
いろいろなEmEditorマクロを書いていると、繰り返し同じようなプログラムを記述することもあり、ライブラリとしたい場合もあるかと思います。ここではWindows Script Componentという機構を用いて、マクロの一部を再利用可能なライブラリ(COMコンポーネント)とする方法を紹介します。
中の人には悪いけど、COM作成が面倒だし、今後の環境移行がめんどくさそう。
んー・・・1分で考えた。代替方法。
「eval()」で良いんじゃね?
さっそくやってみた。
/** * EmEditor マクロに組み込んでつかう。 * PHPのrequire、Perlのuseの代わり。 * 作成済みJavaScript オブジェクトをimportする * @author takuya_1st * @version 1.0 * @modified 2006/10/01 */ function read( name, path ){ try{ path = (path!=null) ? path : document.Path; var fs = new ActiveXObject("Scripting.FileSystemObject"); var a = fs.OpenTextFile( path +"\\" + name, 1 , fs.TristateUseDefault ); return a.ReadAll(); }catch(e){ // } return; } function load(x,y){ eval(read(x,y)); return; } ////利用サンプル src = read("MyLibs.js"); load("document.js");
これでおっけ。
load 関数がコピペになるけど。そこはマクロの限界かな?