秀まるお氏作の「変換リストによる置換」No.08755
石田 さん 18/08/30 07:55
 
秀まるお氏作の「変換リストによる置換」変換モジュールを便利に
使わせて貰っています。1500行程度のリストでも一瞬で置換するのに
驚いています。これまでメニューから選択、実行していたのですが
マクロの方が便利だと思いマクロ説明文を参照し、試作してみました。
置換方向 右⇒左、左⇒右 を一本のマクロで実行しようとパラメータ2文字目は
空白スペースにしたのですが、動作しません。一本のマクロでは右⇒左、左⇒右
を実行するのは無理でしようか?

filter "HmfListReplace" , "ListReplace" , "1 001,C:\\Users\\Public\\Document
s\\conversion6452040.txt";

[ ]
RE:08755 秀まるお氏作の「変換リストによNo.08756
秀まるお2 さん 18/08/30 15:57
 
> 置換方向 右⇒左、左⇒右 を一本のマクロで実行しようとパラメータ2文字目は
> 空白スペースにしたのですが、動作しません。

 パラメータの2文字目は、たしかに置換方向のパラメータなんですが、意味が、

 「 置換方向。左から右なら0、右から左なら1」

 のようになってます。なので、2文字目には0か1かどっちかを指定してもらわない
といけないです。空白スペースを指定したら、たぶんうまく解釈されないです。


 1本のマクロで「右→左」「左→右」のどっちも出来るようにってことでしたら、
マクロの中でquestion文を使って問い合わせるようにしないとダメかと思います。

 たとえば、

 setcompatiblemode 0x0F;
    question "変換方向は?\n左 → 右 = 「はい」\n右 → 左 = 「いいえ」";
    if( result == yes ) {
        $param = "00001";
    } else {
        $param = "01001";
    }
    filter "HmfListReplace" , "ListReplace"
        , $param + ",C:\\Users\\Public\\Documents\\conversion6452040.txt";

 とかのマクロでどうでしょうか。

 ちなみにfilter文のパラメータは、「マクロ」メニューの「キー操作の記録開始/
終了」でキー操作を記録中に変換モジュールによる変換を実行し、「キー操作の保
存...」にてマクロに保存すると、その中のfilter文を見ると、パラメータがわかり
ます。その方法で調べるのがお勧めです。

[ ]
RE:08756 秀まるお氏作の「変換リストによNo.08757
秀まるお2 さん 18/08/30 16:06
 
>  setcompatiblemode 0x0F;

 すみません。これは不要でした。

 「キー操作の保存」でサンプルマクロ作成したもので、余計なのが混じってしまい
ました。

[ ]
RE:08757 秀まるお氏作の「変換リストによNo.08758
石田 さん 18/08/31 06:48
 
教えて貰ったマクロで 1500行近くの変換リストが瞬時に全置換するのが確認できま
した。
はじめ「いいえ」のボタンを押したらマクロが終了するのでは? と思い、素人の小細工
をやってみましたが、原案通りで充分でした。「編集」→「変換」→「変換リストで
置換」
で実行するより、このマクロの方が便利だと思います。変換リストさえ自作すれば、
この
マクロは多方面で活用できると思います。マクロ素人に丁寧に教えていただき感謝し
ます。

   question "変換方向は?\n左 → 右 = 「はい」\n右 → 左 = 「いいえ」";
    if( result == yes ) {
        $param = "10001";
    } else {
        $param = "11001";
    }
    filter "HmfListReplace" , "ListReplace"
        , $param + ",C:\\Users\\Public\\Documents\\conversion6452040.txt";
endmacroall;

[ ]
RE:08758 秀まるお氏作の「変換リストによNo.08759
秀まるお2 さん 18/08/31 13:33
 
 マクロの問い合わせメッセージがいまいちなので・・・

 メニューから選択する方式にしてみました。

    menu "---------置換リストで置換--------", "左から右", "右から左";
    if( result == 2 ) {
        $param = "00001";
    } else if( result == 3 ) {
        $param = "01001";
    } else {
        //キャンセル
        endmacro;
    }
    filter "HmfListReplace" , "ListReplace"
        , $param + ",C:\\Users\\Public\\Documents\\conversion6452040.txt";

 こんな感じになりました。こっちの方式の方が良かったです。

[ ]
RE:08759 秀まるお氏作の「変換リストによNo.08760
石田 さん 18/09/01 10:45
 
何度もマクロを作り直して貰って恐縮しています。最新版マクロだと綺麗なメニュー
画面から
実行できるので、気持ちが良いです。

単に特定の処理に特化したマクロでは無く、新聞や印刷に従事されている関係者さん
も、
変換リストさえ自作出来れば、これまで複数のマクロで実行していた文書整形作業を
「変換リストによる置換」に載せ替える事が出来、手間が省ける印象を持ちました。

外部からの入稿テキストなど、IMEの設定がバラバラで、句読点やミニュートの統一
から、
2連、3連数字(縦中横)の処理まで複数のマクロで処理してきましたが、変換リスト
を自作
すれば「雑事」のような処理も「変換リストによる置換」で、だいぶ軽減されそうな
気がします。

※「文字処理」に従事されている関係者さんに使って貰いたいマクロです。



[ ]
RE:08760 秀まるお氏作の「変換リストによNo.08767
おすぎ さん 18/09/03 10:32
 
石田さま

東京都荒川区在住のおすぎと言います。
技術翻訳者です。翻訳に秀丸エディタとマクロを多用しています。

石田さんのご発言の中に、秀丸マクロが「文字処理」に役立つというお話があり
ました。たとえば次のコメント。
「新聞や印刷に従事されている関係者さんも(中略)外部からの入稿テキストな
ど、IMEの設定がバラバラで、句読点やミニュートの統一から、2連、3連数字
(縦中横)の処理まで複数のマクロで処理してきましたが(中略)だいぶ軽減さ
れそうな気がします。「文字処理」に従事されている関係者さんに使って貰いた
いマクロです」

編集・執筆系に秀丸マクロがどのように役立つのか、とても興味があります。
差し支えなければ、もう少し詳しく教えていただけましたら大変助かります。

ちなみに、私の場合、翻訳とは見方を変えれば言葉の「置換」作業なので、正規
表現を多用した置換マクロを自作して、作業の効率化を図っています。

お手すきのときにお返事いただければ結構です。
よろしくお願いいたします。

[ ]
RE:08767 秀まるお氏作の「変換リストによNo.08771
石田 さん 18/09/04 21:37
 
おすぎ様

 初めまして。埼玉県在住の石田と申します。
 新聞組版ソフトのオペレータをしています。

この秀まるおさん作の「変換リストによる置換 V1.2」変換モジュールは、山紫水明さん
が作られた人気マクロ「変換リストによる連続置換」を高速動作するために作られた
ソフ
トのようで「C++言語で」書かれたとの事です。
(公開マクロ サポート会議室(秀丸エディタ関連) [ 14/04/28 17:40 ] 以降参照)

「変換リストによる置換 V1.2」変換モジュールにはまだ正規表現はサポートされていま
せんが、山紫水明さんのマクロではサポートされているようです。マクロを拝見しま
した
が、オプションが多く、自分には使いこなせないと思い、変換モジュールを単体で使
って
います。どちらも左右一行の変換リストに行数制限はありませんが、実用範囲の上限
はど
の位か、テスト用の変換リストを試作中です(10万行。左辺は完成したが、右辺は手つ
かず)

山紫水明さんのマクロと秀まるおさんの変換モジュールを組み合わせて使えば、正規
表現
置換を高速実行出来る環境が手に入ると思います。相当、いろいろな事が出来ると思
いま
す。試した事はありませんが、grep 置換が出来るそうです。正規表現ではありませ
んが、
例:Alphabet,漢字 海外の小都市の地名,カタカナ 外国人の人名,カタカナ 等、身
近な
使い方も出来ると思います。ATOKより便利かも?

「変換リストによる置換 V1.2」変換モジュールには、追加オプションなど要らず、正規
表現のサポートのみを将来期待している者です。

[ ]
RE:08771 秀まるお氏作の「変換リストによNo.08772
石田 さん 18/09/04 21:39
 
>編集・執筆系に秀丸マクロがどのように役立つのか、とても興味があります。
>差し支えなければ、もう少し詳しく教えていただけましたら大変助かります。

築地にある新聞社の紙面大組モニタの外見は昔とあまり変化がないように見えます。
「見た目より障害の少ない安定性」を重視しているのでしょうが、若干古風です。

さて、私が仕事に使っているマクロは新聞組版ソフトが持っている文字列制御符号を
テキスト文に埋め込んで置換し Win PC からサーバに送信し、大組画面上ではオペ
レータ
の単純な手作業の負担解消を狙った物ばかりです。句読点や記号類の統一、論理行頭
一字
下げ、縦中横、欧文文字列の可変ピッチ回転処理など、大組画面でやっていたら端末が
何台あっても足りないし時間ばかりかかり、どうしてもマクロに眼が向きます。
「テキスト文に制御符号を埋め込む」スタイルは古風に見えると思いますが、大組画
面上
で思った通りの体裁になっていない時、テキストを開いて符号の確認が出来、便利で
す。
符号の消し忘れや勘違い符号を見つけたり、欧文可変ピッチの微調整が出来「組版体
裁の
可視化」が可能です。

(この前、ネットワークドライブを眺めていたら、膨大な数の秀丸マクロが格納され
てい
ました。素人の私が作ったのは15本程度でしたw)
数行程度のマクロしか書けない者ですが、数行でもテキスト処理には抜群の威力を発揮
すると思っています。テキスト一本につき、無条件で4本のマクロを実行しています。
一本にまとめることは出来ないか試してみましたが、塩梅が良くないので止めました。

印刷所が使っている書籍組版ソフトは米国製一種類の寡占状態のようです。
「電子出版」という甘い言葉に乗せられたのでしょうが、和文組版で
国産ソフトが一つも無くなったのは寂しい限りです。

[ ]
RE:08772 秀まるお氏作の「変換リストによNo.08773
おすぎ さん 18/09/05 11:21
 
石田さま

詳細なご説明をありがとうございました。

新聞組版ソフトの大組画面上での作業を軽減するために、マクロを使ってテキス
ト文に制御符号を埋め込み、サーバーに送っているということでしょうか。

私も似たようなことをしています。
翻訳業界では標準的なMS社の「ワード」や市販の翻訳ソフトから、マクロで原
稿をテキスト文に出し、そこでマクロを使って翻訳した後、マクロで翻訳文を
「ワード」等に戻しています。ワードファイルに比べてテキスト文は軽くて速い
ので、翻訳作業がとても楽です。

編集・執筆業界でも、テキスト文の「軽くて速い」特徴が有効なようで、とても
興味深いです。

とても勉強になりました。
ありがとうございました。

おすぎ

[ ]