[スレッド全体]

2010/4/16 (金) 22:01:00  
[488] マクロの移植について

いつもありがたく使用させていただいております。
下記のマクロ(削除)は秀丸エディタで辞書引きソフトのLogophile
を検索するファイルの内容なのですが、マクロについての
知識がないために、サクラエディタにマクロの移植ができ
なくて困っています。どなたかご教示願えないでしょうか?
Ki
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.4; YTB730; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)


2010/4/17 (土) 01:33:42  
[489] Re: マクロの移植について

// execlogophile.js みたいな名前でマクロフォルダへ

word_to_logophile();
function word_to_logophile()
{
        // カーソル位置の「検索キーワード」的なものを取得
        var str = Editor.ExpandParameter('$C');
        // 前後の空白類を置換で削除
        str = str.replace(/^[\s\u3000]+/, '').replace(/[\s\u3000]+$/, '');
        // 選択文字がない場合終了
        if( str.length == 0 ) return;
        // 文字をUnicode,16進数4桁にして+をつける
        str = str.replace(/./g, function(s){
                var hexstr = '000'+(s.charCodeAt(0).toString(16));
                return '+' + hexstr.match(/.{2,4}$/)[0];
        });
        var cmdLine = "\"C:\\Program Files\\Logophile\\Logophile.exe\" -f -u" + str;
        // 外部コマンドを実行(入出力なし)
        Editor.ExecCommand(cmdLine,0);
}

秀丸とLogophileの仕様が分からないので16進数4桁小文字にして送りつけます。
うまく動かないときは下記のように調整してください。
英語は2桁:'000'→'0'
大文字でないとだめ:-u" + str → -u" + str.toUpperCase()

Editor.がついてない部分は普通のJavaScriptです。
短いのがいいならまとめてこんな感じで
str=ExpandParameter('$C').replace(/^[\s\u3000]+/,'').replace(/[\s\u3000]+$/,'');
if(str.length){
        str=str.replace(/./g,function(s){return '+'+('000'+(s.charCodeAt(0).toString(16))).match(/.{2,4}$/)[0];});
        ExecCommand("\"C:\\Program Files\\Logophile\\Logophile.exe\" -f -u"+str.toUpperCase(),1);
}
もか
INCM1.23c


2010/4/17 (土) 11:07:20  
[490] Re2: マクロの移植についてー大成功

もかさん
 2つのマクロをありがとうございました。前者で早速試して
みました。英語でも日本語でもうまくいきました。ほんとうに
ありがとうございました。
Ki
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; GTB6.4; YTB730; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)

[▼次のスレッド]
INCM/CMT
Cyclamen v3.81