英単語数カウントのマクロについてNo.05424
ki さん 07/02/03 22:17
 
英文中の英単語数カウントマクロを前々から探しているのですが、見つからず、結局
Mswordで作成するかTextAnalyzerのお世話になっているのですが、ちょっと不便です。
英単語数カウントマクロはとても自分では作れないのですが、どなたかご紹介いただ
けませんか。

[ ]
RE:05424 英単語数カウントのマクロについNo.05425
Iranoan さん 07/02/03 22:45
 
 ki さん今日は、Iranoan です。
> 英文中の英単語数カウントマクロを前々から探している
 一度
http://hidemaruo.dip.jp:81/hidesoft/hidesoft_4/x04399.html
のスレッドを御覧ください。

[ ]
RE:05425 英単語数カウントのマクロについNo.05426
ki さん 07/02/03 23:44
 
> ki さん今日は、Iranoan です。
>> 英文中の英単語数カウントマクロを前々から探している
> 一度
>http://hidemaruo.dip.jp:81/hidesoft/hidesoft_4/x04399.html
>のスレッドを御覧ください。

ありがとうございます。マボカルさんのマクロの一部をIranoanさんの提案によって
書き換えたマクロを使わせていただきました。このマクロでワードと同じ数値で英単
語数をカウントしてくれてとても便利です。ありがとうございます。

Iranoanさん、長いマクロで素人には理解さえ難しいのですが、さらなる改善という
ような点はありえるのでしょうか?

//--------------------------------------------------------------------
disabledraw;
openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
#reg_search=getregnum("SelectFound");
if(!#reg_search){
  writeregnum "SelectFound",1;
  envchanged;
}
closereg;
$search=searchbuffer;
#search=searchoption;
#orgX=x;
#orgY=y;
gofiletop;
searchdown2 "([a-zA-Z-]+-\\n[a-zA-Z-]+|[a-zA-Z][a-zA-Z'.-]*|[0-9][0-9,.]*)",
 regular;
while(result){
  moveto selendx,selendy;
  #word_num=#word_num+1;
  finddown2;
}
moveto #orgX,#orgY;
message "単語の数は "+str(#word_num)+" 個です。";
if(!#reg_search){
  openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
  writeregnum "SelectFound",#reg_search;
  envchanged;
  closereg;
}setsearch $search, #search;


[ ]
RE:05426 英単語数カウントのマクロについNo.05427
Iranoan さん 07/02/05 01:22
 
 ki さん今日は、Iranoan です。
> Iranoanさん、長いマクロで素人には理解さえ難しいのですが、さらなる改善という
> ような点はありえるのでしょうか?
 現在の最新版を使うとして、
・プログラムが組めるなら、フィルタを作成する→格段に速度が上がる
・マクロをあえて改良するとしたら、
> openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
> #reg_search=getregnum("SelectFound");
> if(!#reg_search){
>   writeregnum "SelectFound",1;
>   envchanged;
> }
> closereg;
を削除して、
>   moveto selendx,selendy;

  moveto foundendx,foundendy;
にし、更に最後の
> if(!#reg_search){
>   openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
>   writeregnum "SelectFound",#reg_search;
>   envchanged;
>   closereg;
> }setsearch $search, #search;

setsearch $search, #search;
にしても同じ結果になるはずです。通常、速度は殆ど変わらないと思いますが、
持ち出しキットを使っている場合は早くなると思います。
 ##持ち出しキットの秀丸エディタ用インストーラは無いけど。

[ ]
RE:05427 英単語数カウントのマクロについNo.05428
ki さん 07/02/05 10:53
 
> ki さん今日は、Iranoan です。
>> Iranoanさん、長いマクロで素人には理解さえ難しいのですが、さらなる改善という
>> ような点はありえるのでしょうか?
> 現在の最新版を使うとして、
>・プログラムが組めるなら、フィルタを作成する→格段に速度が上がる
>・マクロをあえて改良するとしたら、

>にしても同じ結果になるはずです。通常、速度は殆ど変わらないと思いますが、
>持ち出しキットを使っている場合は早くなると思います。
> ##持ち出しキットの秀丸エディタ用インストーラは無いけど。

Iranoanさん
アドバイスに従って修正をしてみますと下記のようになります。英文で試してみます
と単語の数は1個ですとなってしまいます。どこをどうなおしてみたらよいでしょう
か。

//--------------------------------------------------------------------
disabledraw;
$search=searchbuffer;
#search=searchoption;
#orgX=x;
#orgY=y;
gofiletop;
searchdown2 "([a-zA-Z-]+-\\n[a-zA-Z-]+|[a-zA-Z][a-zA-Z'.-]*|[0-9][0-9,.]*)",
 regular;
while(result){
  moveto selendx,selendy;
  #word_num=#word_num+1;
  finddown2;
}
moveto #orgX,#orgY;
message "単語の数は "+str(#word_num)+" 個です。";
setsearch $search, #search;




[ ]
RE:05428 英単語数カウントのマクロについNo.05429
ki さん 07/02/05 11:14
 
Iranoanさん
下記の修正を見落としてしまいました。

moveto selendx,selendy;

単語数のカウントも早くなりましたし、入力英文が消えてしまう状況もなくなり、非
常に使い勝手がよくなりました。心から御礼申し上げます。後学のために行ごとにそ
の意味を理解したいと思います。

>>持ち出しキットを使っている場合は早くなると思います。
>> ##持ち出しキットの秀丸エディタ用インストーラは無いけど。

これはどのようなことなのでしょうか?初心者には無理かもしれませんが。

[ ]
RE:05429 英単語数カウントのマクロについNo.05430
Iranoan さん 07/02/05 12:51
 
 ki さん今日は、Iranoan です。
> これはどのようなことなのでしょうか?初心者には無理かもしれませんが。
 それでは止めておいた方がよいです(^^;。

 「持ち出しキット」が何なのかだけ説明しておくと、秀丸エディタがインス
トールされていない環境で使うために、USB メモリなどによる持ち運びを可能
にするツールです。今は秀丸メール用のインストーラしか有りません。

[ ]
RE:05430 英単語数カウントのマクロについNo.05431
ki さん 07/02/05 14:02
 
Iranoanさん、懇切丁寧にご説明くださりありがとうございました。英単語数のカウ
ントはとてもありがたいです。今後、ありがたく利用させていただきます。御礼申し
上げます。

[ ]