|
ちゅんさん、こんにちは
またまた、考えてみました。
別のプログラムを使用して、実行する方法です。
田楽DLLとBREGEXP.DLLを使用して書いてみました。
秀丸ディレクトリに上記DLLを置いて試して見てください。
・田楽DLL
http://www.ceres.dti.ne.jp/~sugiura/hidemaru/macros/dgserver/
・BREGEXP.DLL
http://www.hi-ho.ne.jp/babaq/bregexp.html
//Sample
call Dengaku ;
if (!dllfunc("BRE_LOAD", hidemarudir + "\\BREGEXP.DLL")) {
message "BREGEXP.DLL が見つかりません";
freedll;
endmacro;
}
$$date = year + "年" +
month + "月" +
day + "日" ;
call h2z $$date ;
$$ret = $$return ;
insert $$ret ;
//#r = dllfunc("BRE_FREE"); // 使い終わったら BRE_FREE() で開放
endmacro;
h2z:
//引数渡し
$$str = $$1;
//処理
#step = 0 ;
$$ptn = "s/0/0/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/1/1/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/2/2/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/3/3/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/4/4/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/5/5/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/6/6/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/7/7/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/8/8/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
$$ptn = "s/9/9/g";$$s = dllfuncstr("BRE_SUBST", $$ptn, $$str);if($$s != "")
{$$str = $$s ;}
//引数戻し指定
return $$str ;
Dengaku:
$$info = $$1;
//田楽DLLのロード
loaddll(hidemarudir + "\\DengakuDLL.dll");
if (!result) {
$$mes = "田楽DLLが見つかりませんでした。\n" +
"田楽DLLを秀丸インストールディレクトリにおいてください。\n" +
" 秀丸インストールディレクトリ:\n\t"+hidemarudir + "\n\n" +
"田楽DLL ダウンロードURL\n"+
" http://www.ceres.dti.ne.jp/~sugiura/hidemaru/macros/dgser
ver/\n" +
$$info ;
message $$mes ;
endmacro;
}
return;
|
|