全角→半角の処理をしたいのですNo.04912
トコトコ さん 00/02/13 21:50
 
こんにちは、はじめまして。トコトコと申します。

私は、在宅ワークでデータ入力等のお仕事をしているのですが、その時に
「できたらいいのに〜」と思うことがたくさんあります。
下のツリーにありました、「大文字小文字変換」は、私にとってもとても
役に立ちました。ありがとうございます!

ところで、いろいろなところでマクロなどを探したのですが、ありそうで
なかなか見つからないものがあります。それは、「半角→全角、全角→半角変換」で
す。
私としては、これの「カタカナのみ変換バージョン」「数字のみ変換バージョ
ン」「英字のみ変換バージョン」と別々にあるととても嬉しいのです。
クライアントの仕様により、「カタカナは全角で、英字は半角で、数字は
全角で」などなどいろいろなケースがあるからです。

一見カンタンにできそうに思えるのですが、秀丸のヘルプを見たり、既に
公開されている似たようなマクロを研究してみたのですが、私にはなかなか
難しく実現できずにいます。
これができれば、作業をするにあたって、かなりの時間短縮ができるの
ですが…

どなたか、上記の件を簡単に実現するための方法がありましたら、教えて
ください。よろしくお願いいたします。

[ ]
RE:04912 全角→半角の処理をしたいのですNo.04913
にひら さん 00/02/14 05:12
 

 トコトコさん、はじめまして。にひらと申します。

> ところで、いろいろなところでマクロなどを探したのですが、ありそうでな
> かなか見つからないものがあります。それは、「半角→全角、全角→半角変
> 換」です。
> 私としては、これの「カタカナのみ変換バージョン」「数字のみ変換バージョ
> ン」「英字のみ変換バージョン」と別々にあるととても嬉しいのです。
> クライアントの仕様により、「カタカナは全角で、英字は半角で、数字は
> 全角で」などなどいろいろなケースがあるからです。

 数字全角半角変換のマクロを下記します。もっといい方法があるのかも
しれませんが、もう眠いし(^^;)。


//    数字全角半角変換マクロ

menu " (&1) 全角数字を半角数字に ",    //メニューを表示
     " (&2) 半角数字を全角数字に ",
     " (&c) キャンセル ";

if (result == 0) endmacro;
else if (result == 1) {     //1番が選ばれたら
    replaceallfast "0","0";
    replaceallfast "1","1";
    replaceallfast "2","2";
    replaceallfast "3","3";
    replaceallfast "4","4";
    replaceallfast "5","5";
    replaceallfast "6","6";
    replaceallfast "7","7";
    replaceallfast "8","8";
    replaceallfast "9","9";
    message "終了!";
} else if (result == 2) {    //2番が選ばれたら
    replaceallfast "0","0";
    replaceallfast "1","1";
    replaceallfast "2","2";
    replaceallfast "3","3";
    replaceallfast "4","4";
    replaceallfast "5","5";
    replaceallfast "6","6";
    replaceallfast "7","7";
    replaceallfast "8","8";
    replaceallfast "9","9";
    message "終了!";
}
endmacro;    //全ての場合(「キャンセル」含む)、終了。


> 一見カンタンにできそうに思えるのですが、秀丸のヘルプを見たり、既に
> 公開されている似たようなマクロを研究してみたのですが、私にはなかなか
> 難しく実現できずにいます。
> これができれば、作業をするにあたって、かなりの時間短縮ができるの
> ですが…

 カタカナ、英字も同様にすればできるでしょう(置換するところを50個、
26個書けばよいでしょう)。
 難しくお考えになりすぎではありませんか?(^^)
 とりあえず手動より速ければよいのであればこのようなマクロでも充分
役に立つと思います。
 置換した個数をメッセージに出すとかなんとか凝りたくなったら凝れば
いいでしょうし。そんなのはあとからでもできますので、とりあえず思い
ついた方法で書いちゃえばいいと思います(但しテストをする時は大事な
ファイルじゃなくてコピーして使った方がよいでしょう)。
 もっといい方法(もっと速い方法とか)が思いついた時はそうすればいい
でしょうし。

 お役に立てばよいのですが。
 お仕事頑張ってください。

[ ]
RE:04913 全角→半角の処理をしたいのですNo.04916
きいろいまふらあ さん 00/02/14 10:21
 
きいろいまふらあです。

全角、半角変換の難しいところは解釈の問題だと思います。

例えば小数点とか位取りのカンマをどうするか、とか。
頭に\とかついてたらどうするか、とか。
#どこまでが数字か、ということなのですが。

> カタカナ、英字も同様にすればできるでしょう(置換するところを50個、
>26個書けばよいでしょう)。

特にカタカナについては、濁点半濁点の処理で皆さん苦労されているようですね。
半角の濁音、半濁音を全角にするときに濁点半濁点付きの1文字にするか
それとも清音+濁点半濁点の2文字表記にするか、とか。
#前者の場合、半角→全角変換で、濁音半濁音を先に処理してやらないといけないで
す。

「ヴ」はどうする?とか。

話の腰を折ってしまって申し訳ないです。

[ ]
RE:04916 全角→半角の処理をしたいのですNo.04917
トコトコ さん 00/02/14 11:52
 
こんにちは、トコトコです。
にひらさん、きいろいまふらあさん、アドバイスありがとうございました。

にひらさんがおっしゃる通り、難しく考えすぎだったのかもしれません。
まずは「とりあえずやりたいことを自動化できればそれでよし!」ということ
で、簡単なマクロに挑戦していこうと思います。今までは、置換を使って
「a」→「a」と変換するような作業をひとつずつちまちまとやっていたんです。

教えていただいたマクロ、早速使わせていただきました。
夜遅くにありがとうございます。動かすことができたので、とても
嬉しかったです!


>全角、半角変換の難しいところは解釈の問題だと思います。

きいろいまふらあさん、そのようなことには全く気がつきませんでした。
なるほど、そういう問題があるんですよね…

とりあえず、自分が使うだけだったら、にひらさんに教えていただいた
マクロを適当に改造することで変換する文字を決めることができますから、
それでやってみようと思います。

どうもありがとうございました!
これからも、よろしくお願いいたします。

[ ]