■【質問】秀丸メールのマクロで英文テキNo.00449
hum2 さん 10/05/03 20:37
 
 お世話になります。humです。
 投稿先が違っていたら、誘導下さい。移動いたします。
【質問】秀丸メールのマクロで英文テキストメールを整形するとしたら、似た処理
のマクロとかご存じの方いらっしゃいますか?
ググったサンプルを使わせてもらって似た処理をくっつけたので矛盾も変な処理を
しているかもどこをどう直せばよいか?自分では判断がつきません。

また、もっとエレガントな方法をおわかりの方、ぜひ教えていただけませんか。

ここ直すと良いよ的なヒントを示して頂いても自己解決できるほど知っているわけ
でなく直したよとか一部提示して頂いたアドバイスは当方マクロの理解能力は低い
ので、そのまま全文掲載頂かないと...応用が効きません。お付き合い下さる奇特な
方がいればしばらくお付き合い頂けますか?
最近珍しく少し「やる気スイッチ」が入ったため長文です。


//---置換前サンプルの体裁----
英文見出し

-------------------------------------------------------------------------------
新聞名


本文.

本文.


//---置換前サンプルの体裁----
Change economic policy

-------------------------------------------------------------------------------
Yomiuri Shimbun

The nation marked the third New Year of the new century with its economy rem
aining in the doldrums and in critical condition.

The domestic economy has not been able to escape the "lost decade" slump tha
t followed the collapse of the bubble economy of the 1980s, a slump that is
unprecedented in the world.

Nearly two years have passed since the government of Prime Minister Junichir
o Koizumi was inaugurated with the policy of structural reforms as a key too
l to rebuilding the economy.

However, his reform initiatives have not borne fruit, and the economy remain
s mired in deflation.

//---置換前サンプルの体裁----

のような体裁の英文テキストメールがあります。改行は場所や数は不定ですが
本文の最後は"."(ピリオド)で終わっています。

//---マクロで置換途中の体裁----

(1)Change economic policy---------------------------------------------------
----------------------------Yomiuri ShimbunThe nation marked the third New Y
ear of the new century with its economy remaining in the doldrums and in cri
tical condition.
(2)The domestic economy has not been able to escape the "lost decade"slump t
hat followed the collapse of the bubble economy of the 1980s, a slump that i
s unprecedented in the world.
(3)Nearly two years have passed since the government of Prime Minister Junic
hiro Koizumi was inaugurated with the policy of structural reforms as a key
tool to rebuilding the economy.
(4)However, his reform initiatives have not borne fruit, and the economy rem
ains mired in deflation.
//---マクロで置換途中の体裁----

マクロ置換途中の体裁のところから(1)英文見出し------新聞名本文.を

英文見出し
------
新聞名
(1)本文.

にできず、途中で煮詰まり、はて?どこをどう直せばよいか?アイデアがでません。
マクロの理解力が低いので、具体的にサンプルを提示頂ける方ご教示下さい。
また、もっとエレガントな方法をおわかりの方、ぜひ教えていただけませんか。
最終的に、希望する整形後の体裁は下記の通りです。


//---希望する整形後の体裁----
英文見出し
-------------------------------------------------------------------------------
新聞名
(1)本文.
(2)本文.
(3)本文.
(4)本文.

//---希望する整形後の体裁----
Change economic policy
-------------------------------------------------------------------------------
Yomiuri Shimbun
(1)The nation marked the third New Year of the new century
 with its economy remaining in the doldrums and in critical condition.
(2)The domestic economy has not been able to escape the "lost decade"slump
 that followed the collapse of the bubble economy of the 1980s, a slump
 that is unprecedented in the world.
(3)Nearly two years have passed since the government of Prime Minister
 Junichiro Koizumi was inaugurated with the policy of structural reforms
 as a key tool to rebuilding the economy.
(4)However, his reform initiatives have not borne fruit, and the economy
 remains mired in deflation.


▼トライしているのですが、うまくいきません。
//---試したマクロの体裁----
// 一旦、"\n"(改行)を削除し". "(ピリオド)を".\n"(ピリオドと改行)に置換
//  "."(ピリオド)を "---"に置換し、その後 正規表現で "---"を \n()に置換し
// 最後の()を 最初にもってる。それで ()に番号も自動で入れる。
//------------------------------------------------------------------
    if( strstr($1, "Yomiuri Shimbun") == 0 ) {
        $1 = rightstr($1, strlen($1) - 15);
     // $1から" Yomiuri Shimbun"を検索し、見つかった場合
     // $1の右側の15文字を取得し$1に格納
    }
    #x = x; #y = y;
    gofileend;
//    replaceallfast "", "", regular, inselect;
    replaceallfast "\\n", "", regular, inselect;
    replaceallfast "\\. *", ".\\n", regular, inselect;
        // 全ての"."(ピリオド)を".\n"(ピリオドと改行)に置換
        // 細かく言うと、ピリオドの後に半角スペースがあれば一緒に置換
    #i=result;
        //さっき何個置換したかを#iに入れておく。
    while(#i>0){
        // #iが0よりおおきいなら{}を実行しつづける。
    movetolineno 1,#i;
        // #i行目の先頭にカーソルを移動。
    insert "("+str(#i)+")";
        // カーソル位置に(#i)を挿入。
    #i=#i-1;
        // #iの値から1を引いたものを#iに入れる。
    }   // ループ
    moveto #x, #y;
    insert $1 + "\n";
    endmacro;   // マクロ終了。
//------------------------------------------------------------------

--
hum
2010年05月03日(月) 20:36:35
Windows XP Pro SP3
秀丸メール   Ver.5.39β1
秀丸エディタ Ver.8.01β4

[ ]
RE:00449 ■【質問】秀丸メールのマクロでNo.00450
hum2 さん 10/05/04 04:36
 
 自己レスです。
 お世話になります。hum です。
根本は理解できていないですが、希望する整形後の体裁形には近づきつつあります。
----- Original Message -----
英文見出し
新聞名

本文.

本文.
(Apr.29, 2010)
の形式が大多数なので、前提を変更しました。
マクロ★★★つめ太郎起動★★★で英文テキストメール全体の空行を削除してから、
作成中のマクロ実行。現時点で//---マクロで置換途中の体裁---ような整形までは
できましたが最後の行に変なナンバリングが...
これを

↓▼
6) 7) 8) 9) 10) 11) 12) (Apr.29, 2010)
↓▼
(Apr.29, 2010)

のように、クリアできればほぼ、使えそうな感じなのですが、アドバイス頂ける方が
いたらよろしくお願いします。

----- Original Message -----
Opinion No. 32' booklet giveaway

The Yomiuri Shimbun

The Yomiuri Shimbun is offering readers copies of "Opinion No. 32," a collec
tion of editorials and essays taken from the paper's September-December issu
es, together with their English translations.

The 20-page booklet, the 32nd of its kind to be published since 2002, provid
es footnotes for the English translations of Yomiuri Shimbun editorials and
the paper's "Henshu Techo" (Musings) essays. The translations were first car
ried by The Daily Yomiuri.

To obtain a free copy, send your name and address written on a label for a r
eturn envelope and 140 yen worth of postage stamps, to: Opinion No. 32, The
Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.

You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/

Please allow about two weeks to receive a copy of the booklet.
(Apr. 29, 2010)

//---マクロで置換途中の体裁----
'Opinion No.32' booklet giveaway
The Yomiuri Shimbun
1) The Yomiuri Shimbun is offering readers copies of "Opinion No.32," a coll
ection of editorials and essays taken from the paper's September-December is
sues, together with their English translations.
2) The 20-page booklet, the 32nd of its kind to be published since 2002, pro
vides footnotes for the English translations of Yomiuri Shimbun editorials a
nd the paper's "Henshu Techo" (Musings) essays.The translations were first c
arried by The Daily Yomiuri.
3) To obtain a free copy, send your name and address written on a label for
a return envelope and 140 yen worth of postage stamps, to: Opinion No.32, Th
e Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.
4) You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/
5) Please allow about two weeks to receive a copy of the booklet.
6) 7) 8) 9) 10) 11) 12) (Apr.29, 2010)

//---試したマクロの体裁----
//PeriodReprace.mac
//英文テキストメールの整形
// 一旦、"\n"(改行)を削除し". "(ピリオド)を".\n"(ピリオドと改行)に置換
// カーソル位置を4行目に移動し"."(ピリオド)を \n()に置換し最後の " )"を
// 最初にもってきて " )"に番号を自動で入れる。
// テキストを60桁で整形して、行末が空白(全角、半角)で終わってる文が
// あればその空白(全角、半角)だけを削除する。
//------------------------------------------------------------------
    loaddll "tkinfo.dll";
    if( dllfunc("IsHidemaruMailMain") ) {
        message "このマクロは秀丸メールエディタウィンドウで実行して下さい。";
        endmacro;
    }
    setcompatiblemode 0x0F;
//    execmacro "deleteline.mac";  // マクロ★★★つめ太郎起動★★★
    #x = x; #y = y;
    gofileend;
    replaceallfast "\\. *", "\\.", regular;
        // 全ての"."(ピリオド)を".\n"(ピリオドと改行)に置換
        // 細かく言うと、ピリオドの後に半角スペースがあれば一緒に置換
        // "改行"を削除
    #i=result;
        //さっき何個置換したかを#iに入れておく。
    while(#i>0){
        // #iが0よりおおきいなら{}を実行しつづける。
    movetolineno 0,#i+2;
        // #i行目の先頭にカーソルを移動。
    insert str(#i)+")"+" ";
        // カーソル位置に(#i)を挿入。
    #i=#i-1;
        // #iの値から1を引いたものを#iに入れる。
    }   // ループ
//    if( strstr($subject, "Yomiuri Shimbun") == 0 ) {
//        $subject = rightstr($subject, strlen($subject) - 15);
//     // $subjectから"Yomiuri Shimbun"を検索し、見つかった場合
//     // $subjectの右側の15文字を取得し$subjectに格納
//    }
    moveto #x, #y;
    // 行末が空白(全角、半角)で終わってる文があれば
    // その空白(全角、半角)だけを削除する
    replaceallfast "[  \t]+$","",regular;
    #n = dllfunc("AlterSave");                 // 改変保存します
    #n = dllfunc("SetMailFlag", "altered", 0); // 改変マークはOFF
//    exit;                                      // 編集画面を閉じます
    endmacro;                                  // マクロを終了します
//------------------------------------------------------------------

[ ]
RE:00450 ■【質問】秀丸メールのマクロでNo.00451
h-tom さん 10/05/04 07:59
 

h-tom です。

>↓▼
>6) 7) 8) 9) 10) 11) 12) (Apr.29, 2010)
>↓▼
>(Apr.29, 2010)
>
>のように、クリアできればほぼ、使えそうな感じなのですが、アドバイス頂ける方が
>いたらよろしくお願いします。
行末の"."の他に、行中の"."まで、カウントしているからでしょう。
終了条件を決めて、whileループを抜ければいいのでは?

[ ]
RE:00450 ■【質問】秀丸メールのマクロでNo.00452
きいろいまふらあ さん 10/05/04 11:11
 
hum2さん、こんにちは。きいろいまふらあと申します。

整形のマクロやナンバリングのマクロは、昔作ったものがどこぞで埃をかぶって
おりますが、特定の機能に特化したものではないので、かえってチューニングに
手間取るかと思います。お役には立たないかと思いますが念のためご参考まで。
→ http://www.pluto.dti.ne.jp/~gogh/macro/

閑話休題

そもそもおやりになりたい処理の仕様が理解できず、みなさんコメントをつけづ
らいのではないでしょうか?添付されているマクロ「//---試したマクロの体裁-
---」と、「//---マクロで置換途中の体裁----」とされているものの整合も取れ
ていないようです。

私からいくつか確認です。やりたいことの内容によっては(テキストの中から文
末を探すような処理を含むとなると)ロジックの構築からの話になってしまって、
マクロの書き方云々のレベルではなくなってしまうように思います。

(1)原文のパラグラフ末尾以外の文末のピリオドの扱い

例えば以下の3行目の"essays"の後ろの"."の部分では改行しなくてよいのか?

>The 20-page booklet, the 32nd of its kind to be published since 2002, provid
>es footnotes for the English translations of Yomiuri Shimbun editorials and
>the paper's "Henshu Techo" (Musings) essays. The translations were first car
>ried by The Daily Yomiuri.

(2)文末以外の"."の扱い

以下の文中の"."の部分の後ろのスペースは削除してよいのか?(ご提示のマク
ロでは削除する処理になっていますよね?)

>The Yomiuri Shimbun is offering readers copies of "Opinion No. 32," a collec

(3)パラグラフ、ないし文末が"."でないケース

例えば文末が"!"や"?"で終わるテキストを処理することはないのか?

(4)ワードラップの必要性

60桁毎に改行を入れる時、単語の途中で改行してよいのか?

(5)ついでに

450番の投稿で提示された「original message」に対して、hum2さんの望む処理
後の体裁もあらためて示されると、理解が早いように思います。

-----

改行のみの行を削除し、もともとのパラグラフを尊重し(パラグラフ中に複数の
文があっても分割せず)各行の先頭に1),2),3)…とナンバリングをして、60桁毎
に改行を入れるマクロの一例を示しておきます。よければ叩き台にして下さい。

//--------------------ここから
//付番用カウンタの初期化
  #i = 1;
//[EOF]の前に改行を入れておく
  gofileend;
  if(column>0){
    insert "\n";
  }
//改行のみの行を削除
  replaceallfast "^\\n","",regular;
//行末に空白やタブがあったら削除
  replaceallfast "[  \\t]+$","",regular;
//付番、整形をする行の先頭に移動
//「The Yomiuri Shimbun」という行の次の行から処理
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;
  movetolineno 1,lineno+1;
  while(1){
    //最終行でなければ付番、整形処理
    if(lineno<linecount2-1){
      //行先頭に付番
      insert str(#i) + ")";
      #i = #i+1;
      //60桁で改行
      while(linelen2>60){
        movetolineno 61,lineno;
        insert "\n";
      }
      movetolineno 1,lineno+1;
    }else{
      break;
    }
  }
endmacro;
//--------------------ここまで

会議室はあまり頻繁に覗けません。悪しからず。

[ ]
RE:00451 ■【質問】秀丸メールのマクロでNo.00453
hum2 さん 10/05/04 12:46
 
 h-tom様 きいろいまふらあ様
 お世話になります。hum です。
 アドバイスありがとうございます。
 希望する整形後の体裁を入れなかったので、わかりづらいですよね。
 おっしゃる通りでした。(処理前後を分けて、サンプル投稿仕直します。)

----- Original Message -----
Opinion No. 32' booklet giveaway

The Yomiuri Shimbun

The Yomiuri Shimbun is offering readers copies of "Opinion No. 32," a collec
tion of editorials and essays taken from the paper's September-December issu
es, together with their English translations.

The 20-page booklet, the 32nd of its kind to be published since 2002, provid
es footnotes for the English translations of Yomiuri Shimbun editorials and
the paper's "Henshu Techo" (Musings) essays. The translations were first car
ried by The Daily Yomiuri.

To obtain a free copy, send your name and address written on a label for a r
eturn envelope and 140 yen worth of postage stamps, to: Opinion No. 32, The
Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.

You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/

Please allow about two weeks to receive a copy of the booklet.
(Apr. 29, 2010)
-----------------------------
//---希望する整形後の体裁----
'Opinion No.32' booklet giveaway
The Yomiuri Shimbun
1) The Yomiuri Shimbun is offering readers copies of "Opinion
   No.32," a collection of editorials and essays taken from
   the paper's September-December issues, together with their
   English translations.
2) The 20-page booklet, the 32nd of its kind to be published
   since 2002, provides footnotes for the English translations
   of Yomiuri Shimbun editorials and the paper's "Henshu Techo"
   (Musings) essays.The translations were first carried by
   The Daily Yomiuri.
3) To obtain a free copy, send your name and address written
   on a label for a return envelope and 140 yen worth of postage
   stamps, to: Opinion No.32, The Yomiuri Shimbun, Tokyo Honsha,
   Senden-bu, 100-8055.
4) You can also apply for the booklet online at:
   http://www.yomiuri.co.jp/education/
5) Please allow about two weeks to receive a copy of the booklet.
(Apr.29, 2010)

>60桁毎に改行を入れる時、単語の途中で改行してよいのか?

メールで投稿した時は現在行の自動折り返し禁止(メールエディタ・ウィンドウ)
したのですが、配信されたら単語の途中で折り返しされているみたいです。
Web上は、大丈夫みたいですが?
希望する整形後の体裁ここの処理は、別マクロで実現できそうでそれで
6) 7) 8) 9) 10) 11) 12) (Apr.29, 2010)を(Apr.29, 2010)に、
手作業で整形後、範囲選択の上別マクロ実行しました。さらに、
行末が空白(全角、半角)で終わってる文があればその空白
(全角、半角)だけを削除して、メールの編集を終了としたい。
との流れでマクロに記述した次第です。

>終了条件を決めて

現在、”終了条件”は、どんな設定が使えそうか?と思ってトライしている
のですが、思い浮かばずうまくいきません。
イメージ的には例えば
(Apr.29, 2010)(短い月名. DD,YYYY)形式のが必ず最終行らしいと仮定したら
正規表現で見つかるまで検索みたいな?式を考えるという事でしょうか?
検索対象のパターンは
>英語形式の日付データを検査しながらマッチさせる(短い月名.DD,YYYY)
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\.(| |0?[1-9]|[12][0-9]|3[0
1]),( [1-2][0-9][0-9][0-9])

(Apr.29, 2010)
(Apr. 30, 2010)
(Apr.22, 2010)
(May.2, 2010)

>(Apr. 30, 2010)
(短い月名. DD,YYYY)形式の日付データにマッチさせるには?どう直せばよいでし
ょうか?
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\.(| |0?[1-9]|[12][0-9]|3[0
1]),( [1-2][0-9][0-9][0-9])

後は、下記の応用でしょうか?もう、私には難しすぎる...。

        #a = 10;
        while( #a > 0 ) {
            down;
            #a = #a - 1;
        }

        (スタートの設定; 終了条件設定; {}内の文が終わるごとに行う動作) {

        繰り返し行いたい内容文;

        }

    if( #count > 1 ) {
        #n = dllfunc("SetFindPack",
         "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\.(| |0?[1-9]|[1
2][0-9]|3[01]),( [1-2][0-9][0-9][0-9])", regular, nocasesense, noreturn, tar
get=body)" );
        finddown;
        if( !result ) {
            #n = dllfunc("FindDown");
            finddown;
        }

[ ]
RE:00452 ■【質問】秀丸メールのマクロでNo.00454
hum2 さん 10/05/04 13:32
 
 きいろいまふらあ様
 お世話になります。hum です。
大変有意義で貴重なアドバイス、ありがとうございました。
早速、ご教示頂いたマクロを使わせて頂きました。
ご教示頂いたマクロでは、改行の処理が一部単語の途中で改行
されますが、ほぼ期待の体裁に近いです。
マクロを自分で修正できれば良いのでしょうが...
私の実力では、無理っぽいです。
大変恐縮ではありますが、気が向いた時にでも希望する整形後の体裁
に修正頂くことをお願いしても良いでしょうか?
もしくは、自前マクロを使う都合上      //60桁で改行を
使わないマクロを教示頂けるとうれしいです。

//---希望する整形後の体裁----
'Opinion No.32' booklet giveaway
The Yomiuri Shimbun
1) The Yomiuri Shimbun is offering readers copies of "Opinion
   No.32," a collection of editorials and essays taken from
   the paper's September-December issues, together with their
   English translations.
2) The 20-page booklet, the 32nd of its kind to be published
   since 2002, provides footnotes for the English translations
   of Yomiuri Shimbun editorials and the paper's "Henshu Techo"
   (Musings) essays.The translations were first carried by
   The Daily Yomiuri.
3) To obtain a free copy, send your name and address written
   on a label for a return envelope and 140 yen worth of postage
   stamps, to: Opinion No.32, The Yomiuri Shimbun, Tokyo Honsha,
   Senden-bu, 100-8055.
4) You can also apply for the booklet online at:
   http://www.yomiuri.co.jp/education/
5) Please allow about two weeks to receive a copy of the booklet.
(Apr.29, 2010)
//----------------------------
//--------------------ここからマクロを使わせて頂きました
Opinion No. 32' booklet giveaway
The Yomiuri Shimbun
1)The Yomiuri Shimbun is offering readers copies of "Opinion
 No. 32," a collection of editorials and essays taken from t
he paper's September-December issues, together with their En
glish translations.
2)The 20-page booklet, the 32nd of its kind to be published
since 2002, provides footnotes for the English translations
of Yomiuri Shimbun editorials and the paper's "Henshu Techo"
 (Musings) essays. The translations were first carried by Th
e Daily Yomiuri.
3)To obtain a free copy, send your name and address written
on a label for a return envelope and 140 yen worth of postag
e stamps, to: Opinion No. 32, The Yomiuri Shimbun, Tokyo Hon
sha, Senden-bu, 100-8055.
4)You can also apply for the booklet online at: http://www.y
omiuri.co.jp/education/
5)Please allow about two weeks to receive a copy of the book
let.
(Apr. 29, 2010)
//--------------------ここまで

[ ]
RE:00454 ■【質問】秀丸メールのマクロでNo.00455
きいろいまふらあ さん 10/05/04 14:07
 
きいろいまふらあです。
先のマクロから60桁毎に改行を入れる処理を省くと、末尾のA.macになります。

>大変恐縮ではありますが、気が向いた時にでも希望する整形後の体裁
>に修正頂くことをお願いしても良いでしょうか?

提示いただいた「希望する整形後の体裁」は、改行を入れる場所の規則性がちょ
っとわかりませんでしたが、2通り(B.macとC.mac))作ってみました。どちら
も「希望する整形後の体裁」にはなりません。

//--------------------A.macここから
//付番用カウンタの初期化
  #i = 1;
//[EOF]の前に改行を入れておく
  gofileend;
  if(column>0){
    insert "\n";
  }
//改行のみの行を削除
  replaceallfast "^\\n","",regular;
//行末に空白やタブがあったら削除
  replaceallfast "[  \\t]+$","",regular;
//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;
  movetolineno 1,lineno+1;
  while(1){
    //最終行でなければ付番、整形処理
    if(lineno<linecount2-1){
      //行先頭に付番
      insert str(#i) + ") ";
      #i = #i+1;
    }else{
      break;
    }
  }
endmacro;
//--------------------A.macここまで

//--------------------B.macここから
//付番用カウンタの初期化
  #i = 1;
//[EOF]の前に改行を入れておく
  gofileend;
  if(column>0){
    insert "\n";
  }
//改行のみの行を削除
  replaceallfast "^\\n","",regular;
//行末に空白やタブがあったら削除
  replaceallfast "[  \\t]+$","",regular;
//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;
  movetolineno 1,lineno+1;
  while(1){
    //最終行でなければ付番、整形処理
    if(lineno<linecount2-1){
      //行先頭に付番
      insert str(#i) + ") ";
      #i = #i+1;
      //60桁「以下」で改行(
      while(linelen2>60){
        movetolineno 61,lineno;
        while(code!=' '){
          left;
          if(column<10){break;}
        }
        while(code==' '){
          delete;
        }
        insert "\n   ";
      }
      movetolineno 1,lineno+1;
    }else{
      break;
    }
  }
endmacro;
//--------------------B.macここまで

//--------------------C.macここから
//付番用カウンタの初期化
  #i = 1;
//[EOF]の前に改行を入れておく
  gofileend;
  if(column>0){
    insert "\n";
  }
//改行のみの行を削除
  replaceallfast "^\\n","",regular;
//行末に空白やタブがあったら削除
  replaceallfast "[  \\t]+$","",regular;
//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;
  movetolineno 1,lineno+1;
  while(1){
    //最終行でなければ付番、整形処理
    if(lineno<linecount2-1){
      //行先頭に付番
      insert str(#i) + ") ";
      #i = #i+1;
      //60桁で改行(ぶら下げ処理)
      while(linelen2>60){
        movetolineno 61,lineno;
        while(code!=' '&&column<linelen2){
          right;
        }
        while(code==' '){
          delete;
        }
        if(column<linelen2){
          insert "\n   ";
        }else{
          break;
        }
      }
      movetolineno 1,lineno+1;
    }else{
      break;
    }
  }
endmacro;
//--------------------C.macここまで

[ ]
RE:00455 ■【質問】秀丸メールのマクロでNo.00456
hum2 さん 10/05/04 16:27
 
 きいろいまふらあ様
 お世話になります。hum です。
重ね重ねご教示ありがとうございます。
改行を入れる場所の規則性は、むしろ考慮頂かず改行のみの行を削除、付番のマクロ
としては、頂けないでしょうか?(■最初からコレをお願いすべきでした m(_._)m...)
というのは、自前のテキスト整形マクロで、//---Previous preparations---部分の
1行目の行頭の空白を削除し、複数行を連結する処理もすること(翻訳等で)がある
ので、
//---希望する整形前の体裁----改行毎で一括りに戻した場合は原文と違いが出て欲
しくないのです。
現状は、前 → 後で、微妙に違いが出ます。
copies of "Opinion No. 32, → copies of"Opinion No. 32,
"Henshu Techo"(Musings) essays. → "Henshu Techo" (Musings) essays.
5) Please allow about two → http://www.yomiuri.co.jp/education/5) Please
allow about two
//---------------------------
A clause sentence 文節 文章で括りたいので、一文毎に付番は必要ありません。
一応、英文テキストメールの括りも元メールの改行毎で一括りにした上で付番できる
とありがたいと思います。
----- Original Message -----
Opinion No. 32' booklet giveaway

The Yomiuri Shimbun

The Yomiuri Shimbun is offering readers copies of "Opinion No. 32," a collec
tion of editorials and essays taken from the paper's September-December issu
es, together with their English translations.

The 20-page booklet, the 32nd of its kind to be published since 2002, provid
es footnotes for the English translations of Yomiuri Shimbun editorials and
the paper's "Henshu Techo" (Musings) essays. The translations were first car
ried by The Daily Yomiuri.

To obtain a free copy, send your name and address written on a label for a r
eturn envelope and 140 yen worth of postage stamps, to: Opinion No. 32, The
Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.

You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/

Please allow about two weeks to receive a copy of the booklet.
(Apr. 29, 2010)
-----------------------------

//---希望する整形前の体裁----
//---Previous preparations---
Opinion No. 32' booklet giveaway
The Yomiuri Shimbun
1) The Yomiuri Shimbun is offering readers copies of "Opinion No. 32," a col
lection of editorials and essays taken from the paper's September-December i
ssues, together with their English translations.
2) The 20-page booklet, the 32nd of its kind to be published since 2002, pro
vides footnotes for the English translations of Yomiuri Shimbun editorials a
nd the paper's "Henshu Techo"(Musings) essays. The translations were first c
arried by The Daily Yomiuri.
3) To obtain a free copy, send your name and address written on a label for
a return envelope and 140 yen worth of postage stamps, to: Opinion No. 32, T
he Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.
4) You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/
5) Please allow about two weeks to receive a copy of the booklet.
(Apr. 29, 2010)
//---------------------------
のようになって欲しいです。残念ながら現在A,B,Cマクロとも希望する整形前の体裁
と違って
しまう様です。希望する整形後の体裁は忘れて頂き//---希望する整形前の体裁----
とした場合は
改行のみの行削除、付番のマクロはどんな感じがふさわしいのでしょう?

現状A,B,Cマクロ実行後の物から//---希望する整形前の体裁----に戻すと
下記のようになります。
メールで投稿した時は現在行の自動折り返し禁止(メールエディタ・ウィンドウ)
したのですが、配信されたら単語の途中で折り返しされているみたいです。
Web上は、大丈夫みたいですが?
希望する整形後の体裁ここの処理は、別マクロで実現できそうですので、
あえて以下の違いを除去する方向で考慮頂きますようお願いいたします。
まだ、お付き合い頂けるのでしたら修正は可能なのでしょうか?

//---希望する整形前の体裁----
//---Previous preparations---
Opinion No. 32' booklet giveaway
The Yomiuri Shimbun
1) The Yomiuri Shimbun is offering readers copies of "Opinion No. 32," a col
lection of editorials and essays taken from the paper's September-December i
ssues, together with their English translations.
2) The 20-page booklet, the 32nd of its kind to be published since 2002, pro
vides footnotes for the English translations of Yomiuri Shimbun editorials a
nd the paper's "Henshu Techo"(Musings) essays. The translations were first c
arried by The Daily Yomiuri.
3) To obtain a free copy, send your name and address written on a label for
a return envelope and 140 yen worth of postage stamps, to: Opinion No. 32, T
he Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.
4) You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/
5) Please allow about two weeks to receive a copy of the booklet.
(Apr. 29, 2010)
//---------------------------

//--------------------A.macここから
Opinion No. 32' booklet giveaway
The Yomiuri Shimbun
1) 2) 3) 4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21) 2
2) 23) 24) 25) 26) 27) 28) 29) 30) 31) 32) 33) 34) 35) 36) 37) 38) 39) 40) 4
1) 42) 43) 44) 45) 46) 47) 48) 49) 50) 51) 52) 53) 54) 55) 56) 57) 58) 59) 6
0) 61) 62) 63) 64) 65) 66) 67) 68) 69) 70) 71) 72) 73) 74) 75) 76) 77) 78) 7
9) 80) 81) 82) 83) 84) 85) 86) 87) 88) 89) 90) 91) 92) 93) 94) 95) 96) 97) 9
8) 99) 100) 101)
102) 103) 104) 105) 106) 107) 108) 109) 110) 111) 112) 113) 114) 115) 116) 1
17) 118) 119) 120) 121) 122) 123) 124) 125) 126) 127) 128) 129) The Yomiuri
Shimbun is offering readers copies of "Opinion No. 32," a collection of edit
orials and essays taken from the paper's September-December issues, together
 with their English translations.
The 20-page booklet, the 32nd of its kind to be published since 2002, provid
es footnotes for the English translations of Yomiuri Shimbun editorials and
the paper's "Henshu Techo" (Musings) essays. The translations were first car
ried by The Daily Yomiuri.
To obtain a free copy, send your name and address written on a label for a r
eturn envelope and 140 yen worth of postage stamps, to: Opinion No. 32, The
Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.
You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/
Please allow about two weeks to receive a copy of the booklet.
(Apr. 29, 2010)
//--------------------A.macここまで
//--------------------B.macここから
Opinion No. 32' booklet giveaway
The Yomiuri Shimbun
1) The Yomiuri Shimbun is offering readers copies of"Opinion No. 32," a coll
ection of editorials and essays taken from the paper's September-December is
sues, together with their English translations.
2) The 20-page booklet, the 32nd of its kind to be published since 2002, pro
vides footnotes for the English translations of Yomiuri Shimbun editorials a
nd the paper's "Henshu Techo" (Musings) essays. The translations were first
carried by The Daily Yomiuri.
3) To obtain a free copy, send your name and address written on a label for
a return envelope and 140 yen worth of postage stamps, to: Opinion No. 32, T
he Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.
4) You can also apply for the booklet online at:
http://www.yomiuri.co.jp/education/5) Please allow about two weeks to receiv
e a copy of the booklet.
(Apr. 29, 2010)
//--------------------B.macここまで
//--------------------C.macここから
Opinion No. 32' booklet giveaway
The Yomiuri Shimbun
1) The Yomiuri Shimbun is offering readers copies of "Opinion No. 32," a col
lection of editorials and essays taken from the paper's September-December i
ssues, together with their English translations.
2) The 20-page booklet, the 32nd of its kind to be published since 2002, pro
vides footnotes for the English translations of Yomiuri Shimbun editorials a
nd the paper's "Henshu Techo"(Musings) essays. The translations were first c
arried by The Daily Yomiuri.
3) To obtain a free copy, send your name and address written on a label for
a return envelope and 140 yen worth of postage stamps, to: Opinion No. 32, T
he Yomiuri Shimbun, Tokyo Honsha, Senden-bu, 100-8055.
4) You can also apply for the booklet online at: http://www.yomiuri.co.jp/education/
5) Please allow about two weeks to receive a copy of the booklet.
(Apr. 29, 2010)
//--------------------C.macここまで

[ ]
RE:00456 ■【質問】秀丸メールのマクロでNo.00457
きいろいまふらあ さん 10/05/04 16:54
 
きいろいまふらあです。

>改行を入れる場所の規則性は、むしろ考慮頂かず改行のみの行を削除、付番のマクロ
>としては、頂けないでしょうか?(■最初からコレをお願いすべきでした m(_._)
>m...)

先の A.mac がそれのつもりでしたが、貼り付け時に1行抜けてしまい全く怪
しい挙動のマクロになってしまっていました。失礼しました。改めて、以下のマ
クロでお試しください。

//--------------------A.macここから
//付番用カウンタの初期化
  #i = 1;
//[EOF]の前に改行を入れておく
  gofileend;
  if(column>0){
    insert "\n";
  }
//改行のみの行を削除
  replaceallfast "^\\n","",regular;
//行末に空白やタブがあったら削除
  replaceallfast "[  \\t]+$","",regular;
//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;
  movetolineno 1,lineno+1;
  while(1){
    //最終行でなければ付番、整形処理
    if(lineno<linecount2-1){
      //行先頭に付番
      insert str(#i) + ") ";
      #i = #i+1;
      movetolineno 1,lineno+1;
    }else{
      break;
    }
  }
endmacro;
//--------------------A.macここまで

[ ]
RE:00457 ■【質問】秀丸メールのマクロでNo.00458
hum2 さん 10/05/04 17:29
 
 きいろいまふらあ様
 お世話になります。hum です。
大変有意義で貴重なアドバイス、ありがとうございました。
いつもながら素早い対応もありがとうございました。
今回のマクロで期待通りになった事を確認できました。
御礼申し上げます。

付番、整形をする行の先頭に移動の条件をやりたいことの内容
から自分だけでは規則性を見出せないところでした。

→ http://www.pluto.dti.ne.jp/~gogh/macro/

改めて拝見しました。また、遠慮無く使わせて頂きました。

# 最近珍しく少し「やる気スイッチ」が入った私に最後まで
# お付き合い下さり改めて感謝、感謝です。
# これが2チャンネルなら、即「やる気スイッチ」OFFにしてね
# と sage られ、悶々とすごした連休になった事でしょう(^o^)/〜

[ ]
RE:00457 ■【質問】秀丸メールのマクロでNo.00459
hum2 さん 10/05/05 12:17
 
 きいろいまふらあ様
 お世話になります。hum です。
マクロ快調に使わせて頂いております。
そこで、...今しばらくお付き合い頂けますか?


  ということで、当初は、決め打ちで大丈夫だと思って
  相談したわけですが、整理を進めていく内に新たな事実です。
付番、整形をする行の先頭に移動する条件が固定ではない事に
気づいたのでした...
(整理してみると数十パターンの新聞名、記者名であろう事が
見えてきました。)

■改行のみの行を削除後に付番のために行の先頭に移動する
 条件を汎用的にと考えた場合、どちらがスッキリするか?
 アドバイスお願いできませんか?どうでしょ?

(1)範囲選択をすることを前提に付番すべきか
(2)範囲選択したところを取得して付番する行の先頭すべきか
(3)他にエレガントな指定が実は存在するので変更すべきか

//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;

例えば、下記数パターンなら、どう捌けば汎用的になるのでしょうか?
1)The Yomiuri Shimbun
2)Yomiuri Shimbun
3)Tom Baker / Daily Yomiuri Staff Writer
4)Takanori Kato / Yomiuri Shimbun Correspondent
5)etc.

本来やりたいことは、改行のみの行を削除後に付番なので、
指定範囲に通し番号を振れればよくて、紹介頂いたマクロの
Multi Numbering for 秀丸エディタを利用すれば解決とわかりました。
しかし、マクロ動作のデフォルト設定を変更して利用してエラーを出したり
マクロエラー:文字列が指定されるべき所に文字列以外のものが指定されています。
高機能すぎる部分を使い切れないでいます...

[ ]
RE:00459 ■【質問】秀丸メールのマクロでNo.00460
K'zawa さん 10/05/05 13:58
 
hum2さん、こんにちは。
K'zawaです。

質問ですが、空白行と、"-"記号のみの行を削除したら、
本文は3行目からになるのでしょうか?
もしそうなら、単に3行目に移動すればよいので簡単ですが、そうはうまくいか
ないでしょうか?

[ ]
RE:00460 ■【質問】秀丸メールのマクロでNo.00461
hum2 さん 10/05/05 16:36
 
 "K'zawa"様
 お世話になります。hum です。
>質問ですが、空白行と、"-"記号のみの行を削除したら、
>本文は3行目からになるのでしょうか?

英文見出し
新聞名
本文.
そのようにメールを範囲選択した場合は、本文は3行目
からになります。
(1)範囲選択をすることを前提に付番すべきか
(2)範囲選択したところを取得して付番する行の先頭すべきか
(3)他にエレガントな指定が実は存在するので変更すべきか

■改行のみの行を削除後に範囲選択したところを取得して付番する。
(当初はCut & pasteしてテキストを作りテキスト整形するつもりが
マクロで省力化きたので、メールその物を直にテキスト整形しちゃおう)
■付番のために行の先頭に移動する条件を汎用的にと考えた場合、
 修正・変更・再構築で、どれが一番スッキリするか?
■自分だけでは、付番のために行の先頭に移動する条件に規則性を
 見出せないことからアドバイスお願いできませんか?どうでしょ?
との投稿になりました。


//---サンプルの体裁----
----- Original Message -----
本文.
英文見出し
The Yomiuri Shimbun


本文.

本文.
(Apr.2, 2010)
本文.
英文見出し

-------------------------------------------------------------------------------
Yomiuri Shimbun



本文.

本文.
(Apr.22, 2010)
本文.
英文見出し
Yomiuri Shimbun


本文.

本文.
(Apr. 30, 2010)
本文.
英文見出し
Tom Baker / Daily Yomiuri Staff Writer



本文.

本文.
(May.2, 2010)
-----------------------------
 当初はCut & pasteして相談していましたから当然の疑問ですよね。

自分でやりたい内容を単純化すると、範囲選択したところを取得して
付番する行の先頭とすべきか、手作業で範囲選択し付番、整形をするすべきか、
その辺が正直いうと理解できていないので、アドバイスお願いできませんか?
 との投稿になりました。

理由は↓の処理だと思ったのですが、
//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;

付番、整形をする行の先頭に移動するマクロでは、本文の前準備として
メールからCut & pasteしてテキストを作りテキスト整形する為、十分と
考えていました。

現在はマクロで省力化きたので、メールその物を直にテキスト整形しちゃおう
と思ったわけです。(文中のどこから→どこまでをCut & pasteしない)
そうすると、切り出したサンプルの3行目がどこか?を考えなくてはならず、
1)The Yomiuri Shimbun
があれば良いのですが、
//---サンプルの体裁中----対象外の場合、現在のマクロでは、
付番、整形をする行の先頭に移動する条件が固定ではない事に
気づいたのでした...
(整理してみると数十パターンの新聞名、記者名であろう事が
見えてきました。)
  searchdown2 "^The Yomiuri Shimbun$", regular;
を変更してテキスト整形しないとできないわけです。

2)Yomiuri Shimbun
3)Tom Baker / Daily Yomiuri Staff Writer
4)Takanori Kato / Yomiuri Shimbun Correspondent
5)etc.
があっても、どうも記事らしいので付番したいと思っている次第です。

[ ]
RE:00461 ■【質問】秀丸メールのマクロでNo.00462
h-tom さん 10/05/05 20:13
 

h-tom です。

切り分けが、機械的にできない(難しい)なら、
>(1)範囲選択をすることを前提に付番すべきか
で、やるのが簡単なのでは?(手間はかかりますが。)

[ ]
RE:00461 ■【質問】秀丸メールのマクロでNo.00463
K'zawa さん 10/05/05 21:32
 
hum2さん、こんにちは。
K'zawaです。

もし、htmlメールなら、htmlソースを解析したほうがよいかも知れませんね。
見出し、本文、その他明確に分けられているんじゃないかと思います。
htmlタグの知識はいりますが。

[ ]
RE:00459 ■【質問】秀丸メールのマクロでNo.00464
きいろいまふらあ さん 10/05/05 22:12
 
きいろいまふらあです。
議論はずいぶん先に進んでしまっているようですが、

>■改行のみの行を削除後に付番のために行の先頭に移動する
> 条件を汎用的にと考えた場合、どちらがスッキリするか?
> アドバイスお願いできませんか?どうでしょ?
>
>(1)範囲選択をすることを前提に付番すべきか
>(2)範囲選択したところを取得して付番する行の先頭すべきか
>(3)他にエレガントな指定が実は存在するので変更すべきか

まず、(1)と(2)の意味がよくわかりませんでした。
また「スッキリする」とはどういう意味でしょうか?
マクロが短くて済む、ということでしょうか?
あるいは別の意味でしょうか?

>例えば、下記数パターンなら、どう捌けば汎用的になるのでしょうか?
>1)The Yomiuri Shimbun
>2)Yomiuri Shimbun
>3)Tom Baker / Daily Yomiuri Staff Writer
>4)Takanori Kato / Yomiuri Shimbun Correspondent
>5)etc.

hum2さんがどのような意味を5)に込められたのかが分かりませんので、なんとも
お答えのしようがありません。
1)〜4)には「Yomiuri」という共通する単語が含まれていますが、一例として
「Yomiuriという単語を含む行の次の行からを付番の対象とする」という機械的
なルールでよいのであれば、おそらく

//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;

の部分を

//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "Yomiuri", regular;

とするだけで済むでしょう。そのような安直な対応で済む話なのか、私には判断
はできません。

一方で、以下のようなマクロは、比較的容易に作成することが可能です。

1)まず改行のみの行を全て削除する
2)次に、文末の空白やタブを全て削除する
3)次に、ユーザに範囲選択させる
4)3)で選択された範囲の行頭に 1)、2)、3)…と付番する

処理する元のテキストがなんらかの規則性をもっていて、それをマクロを作る人
間が理解できているのであれば、ある程度の機械的な処理は可能です。逆もまた
然りです。

話は横道に逸れますが、

>マクロエラー:文字列が指定されるべき所に文字列以外のものが指定されています。

拙作のマクロでご迷惑をおかけしたようであれば、差支えなければどのような操
作でエラーが発生したかお教え願えればと思います。可能な範囲で直します。そ
もそも秀丸メールでは動作確認はしていませんでした(すみません)。

[ ]
RE:00462 ■【質問】秀丸メールのマクロでNo.00465
hum2 さん 10/05/06 00:36
 
 h-tom様 K'zawa様 きいろいまふらあ様
 お世話になります。hum です。
説明や質問の仕方がヘタなため、そもそもやりたい処理の仕様が伝わらず
最後まで失礼しました。改めてお詫び申し上げます。
私の方もそろそろ説明する気力も限界なのでまとめてレスで失礼致します。

>切り分けが、機械的にできない(難しい)なら、
>>(1)範囲選択をすることを前提に付番すべきか
>で、やるのが簡単なのでは?(手間はかかりますが。)

>もし、htmlメールなら、htmlソースを解析したほうがよいかも知れませんね。
>見出し、本文、その他明確に分けられているんじゃないかと思います。
>htmlタグの知識はいりますが。

>処理する元のテキストがなんらかの規則性をもっていて、それをマクロを
>作る人間が理解できているのであれば、ある程度の機械的な処理は可能です。
>逆もまた然りです。

ごもっともです。
とはいっても、省ける手間は省きたいのも事実でして...

//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "^The Yomiuri Shimbun$", regular;

の部分を

//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "Yomiuri", regular;

とするだけだと、当該メールでは
(May.4, 2010)
(Apr.22, 2010)
(Apr. 29, 2010)
(Apr. 30, 2010)
も連続した通し番号のように付番されるので、 Cut & paste して
テキストを作りテキスト整形する方法に戻る訳でして...
きいろいまふらあ様作成のマクロで省力化できた「うまみ」も薄れて
しまうと感じます。もちろん、手作業よりは、十分効率的ですが。

まったく、別の手段としたら
1)マクロ★★★つめ太郎起動★★★
  execmacro "deleteline.mac";

2)行頭の通し番号削除マクロ
★★★Delete for Multi Numbering for 秀丸エディタ★★★
  execmacro "MN_T_DEL.mac";

3)次に、100行程度になったら各々を範囲選択しマクロ
★★★Multi Numbering for 秀丸エディタ★★★で指定範囲に付番
  execmacro "mlt_num.mac";

を、使用していく方が、他人に余計な負担や迷惑をかけないので良い
のかも知れません。

最後に、整理のため当該メール処理の途中、改行のみの行を削除して、
簡略化した付番前サンプルの体裁----(説明の便宜上、何行あろうと
一部抜粋を最小限一行として、本文は本文以下省略としました。)を、
投稿仕直します。

COMICS REVIEW / The diary of a
Tom Baker / Daily Yomiuri Staf  --------------------ここから
Hot Gimmick
By Miki Aihara
本文以下省略
So perhaps Hatsumi is filled w  --------------------ここまで
(Apr. 30, 2010)
Opinion No. 32' booklet giveaw
The Yomiuri Shimbun             --------------------ここから
本文以下省略
Please allow about two weeks    --------------------ここまで
(Apr. 29, 2010)
Fake Expo goods on sale in Shanghai
Takanori Kato / Yomiuri Shimbun --------------------ここから
本文以下省略
Prohibited items included       --------------------ここまで
(Apr.22, 2010)
Japan's Green zones itchy to be global geoparks
The Yomiuri Shimbun             --------------------ここから
本文以下省略
Mahito Watanabe, chief of the   --------------------ここまで
(May.4, 2010)
        ・
        ・
        ・
        ・
        ・
        ・
4)3)で選択された範囲の行頭に 1)、2)、3)…と付番する

付番、整形をする各行の先頭がなんらかの規則性をもっていて、
マクロで移動できれば現在のマクロで「スッキリする」との
感想を持っています。(実装の可能性は不明ですが...)

例えば、付番、整形をする行の移動先の指定を予め作っておくか
取得するかしてマクロ途中にでも挿入したら後はメニューから選んで
// 情報源の挿入
// 情報源を配列に代入
// 情報源の挿入

挿入先として "^The Yomiuri Shimbun$" 部分を指定して
マクロが動けば、とトライするのもいいかなと感じただけです。

>拙作のマクロでご迷惑をおかけしたようであれば、差支えなければどのような操
>作でエラーが発生したかお教え願えればと思います。可能な範囲で直します。そ
>もそも秀丸メールでは動作確認はしていませんでした(すみません)。

とんでもありません。お言葉に甘えて余計な負担や迷惑をかけない程度で
相談させて頂くかもしれません。(急いでもいないことですので)
但し、自力だけでマクロ完成の実力はなく質問と要望・希望ばかりで
申し訳ありませんが、アドバイス頂けるのは大変ありがたいです。
マクロ作成はセンスの有無・向き不向きがあるようで、自分は作成よりも
利用が向いていると思います。作成頂いたマクロを自分の作品とするつもりも
製品化するつもりも無いわけですが、快く提供下さる作者の皆さんには
感謝しかできないですが利用させて頂けると大変ありがたいです。

//今以下試行錯誤中のマクロ
//source of info.macここから
//情報源の挿入
//情報源を配列に代入
  $source[0] = "^The Yomiuri Shimbun$";
  $source[1] = "^Yomiuri Shimbun$";
  $source[2] = "^Tom Baker \/ Daily Yomiuri Staff Writer$";
  $source[3] = "^Takanori Kato \/ Yomiuri Shimbun Correspondent$";
  $source[4] = "^$";
  $source[5] = "^$";
// メニューの表示
  menuarray $source, 6;
// 情報源の挿入
  #result = result;
  if(#result !=0) {
  insert $source[#result - 1];
}
  endmacro;
//-------------source of info.macここまで

の結果を別マクロの当該処理中に代入する。
実装する関数や方法は、まだ自分には難しすぎる...
例えば、"情報源指定文字列"部分等...

//PeriodReprace.macここから
//付番、整形をする行の先頭に移動
  gofiletop;
  searchdown2 "情報源指定文字列", regular;
//以下省略

[ ]
RE:00464 ■【質問】秀丸メールのマクロでNo.00466
hum2 さん 10/05/06 12:27
 
 きいろいまふらあ様
 お世話になります。hum です。
>拙作のマクロでご迷惑をおかけしたようであれば、差支えなければどのような
>操作でエラーが発生したかお教え願えればと思います。可能な範囲で直します。
>そもそも秀丸メールでは動作確認はしていませんでした(すみません)。

とんでもありません。ご配慮ありがとうございます。行頭の通し番号削除に
「Top Delete for Multi Numbering for 秀丸エディタ」(MN_T_DEL.mac)
あと、指定範囲に通し番号を付けるため「Multi Numbering for 秀丸エディタ」
(mlt_num.mac)を使わせて頂きました。その中で、マクロ動作のデフォルト設定
を変更しようとしていてミスした際に、下記エラーとなりました。
現在は、一応大丈夫の様です。
>マクロエラー:文字列が指定されるべき所に文字列以外のものが指定されています。

あと、少し確認なのですが桁補完形式デフォルトの値を、変更しても毎回不定?になる
気がして、ここは試行錯誤中です。番号と動作が期待通りにならないケースがありま
す。
// 0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃え)
  #hokan   = 2;  // 桁補完形式デフォルト
                 // 0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペー
ス補完(左揃え)

桁補完形式デフォルトを 1:0補完 にして「1-9」迄の番号で[01-09]というように
付番したい場合」でも、[1-9]になります。どうせならあえて、全部[01-09]形式に
したい場合、どうすれば、良いでしょうか?
(統一できれば付番間違いの時に、行頭の通し番号削除を簡単に実行できるので...)
行頭の通し番号削除に
「Top Delete for Multi Numbering for 秀丸エディタ」(MN_T_DEL.mac)にて
下記の通し番号削除をする際、現在は行頭削除(字数指定)で、二回指示して直す
最初(3)桁、次に残りの行頭空白を削除(1)桁で→コレを最初(4)桁で一発で戻せる
と、何回もやり直しをやっていても楽なんです。
(可能であれば、この要望が余計な負担や迷惑をかけない実装なら変更をお願いでき
ますか?)

よろしくお願いします。

Opinion No. 32' bookle
The Yomiuri Shimbun
1) The Yomiuri Shimbun
2) The 20-page booklet
3) To obtain a free co
4) You can also apply
5) Please allow about
(Apr. 29, 2010)
01) Fake Expo goods on
02) Takanori Kato / Yo
03) 1) SHANGHAI--Durin
04) The rehearsal for
05) Outside the venue,
06) "They're selling w
07) About 200,000 peop
08) Four more rehearsa
09) The city was put o
10) Prohibited items i
(Apr.22, 2010)

[ ]
RE:00466 ■【質問】秀丸メールのマクロでNo.00467
きいろいまふらあ さん 10/05/07 00:45
 
hum2さん、こんばんは。
きいろいまふらあです。

>// 0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃え)

どこまで改造されたのかわかりませんが、拙作のオリジナルのマクロでは桁補完
形式のデフォルトを指定する際のコードは

// 0:補完しない 1:スペース補完 2:0補完 3:スペース補完(左揃え)

となってるはずですので、

#hokan   = 2;

としておけば、マクロ起動時に、桁補完形式が「0補完」になると思います。
(そうならないとしたらマクロのバグなのでその旨ご連絡下さい。)

念のためですが、Multi Numberingの「桁補完」とは、ナンバリングに使う数字
の桁数が途中で変わる場合に、全体の桁数をそろえるためのものです。なので、
1から9までで足りる場合は頭に0は付きません。0〜9で始まって10〜99で終わる
ようなナンバリングの場合には、0〜9は00〜09になります。0〜9で始まって100
〜999で終わるようなナンバリングの場合には、0〜9は000〜009になります。

それはそれとして、1から9までの場合でも2桁でナンバリングしたいということ
になると、現状のマクロのままではできません。応急処置としては、オリジナル
のマクロの557行目付近の

TOHAN:
return $$1;

となっているところを

TOHAN:
  if(strlen($$1)==1){$$1="0"+$$1;}
return $$1;

としていただくと、お望みの動作になるかと思います。

[ ]
RE:00464 ■【質問】秀丸メールのマクロでNo.00468
hum2 さん 10/05/07 01:20
 
 きいろいまふらあ様
 お世話になります。hum です。

「Multi Numbering for 秀丸エディタ」(mlt_num.mac)
を使わせて頂きました。
>マクロエラー:文字列が指定されるべき所に文字列以外のものが
>指定されています。

上記エラーは、マクロ内の記述を変更したせいかもしれません。
マクロ動作のデフォルト設定を変更しようとしていてMAINMENU:の
ところで記入ミスでもした際に、マクロエラーを出したようです。
記憶がある内に、触った記述部分を報告しておきます。

あと、私の勘違いかも知れませんが、マクロ動作のデフォルト設定で
桁補完形式デフォルト  #hokan   = 1;  としら、空白(右揃)でした。
  #hokan   =数字を変化させてデフォルト指定の動きを確認しました。
何か当初と不一致になっのかも....しれません。

  #hokan   = 0;  としら、補完なし
  #hokan   = 1;  としら、空白(右揃)
  #hokan   = 2;  としら、0補完
  #hokan   = 3;  としら、空白(左揃

現在、 デフォルト設定が#hokan   = 2;  // 桁補完形式デフォルト
これで動いてはいるようです。私が触ったせいで
こうなってしまったのかもという気がしますが...わかりません。
この件はそちらで再現しますでしょうか?


//MLT_NUM.mac
//////////////////////////////////////// マクロ動作のデフォルト設定
  #hokan   = 2;         // 桁補完形式デフォルト
// 正 0:補完なし  1:空白(右揃)  2:0補完  3:空白(左揃)
//Org 0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃え)

//////////////////////////////////////// MAINMENU:
MAINMENU:
  $$hokan = midstr("補完なし 空白(右揃)0補完  空白(左揃)",#hokan*10,10);
//Org "補完なし 空白(右揃)0補完  空白(左揃)"
  menu "■ Main Menu of マルチナンバリングマクロ for 秀丸",
//以下省略

[ ]
RE:00467 ■【質問】秀丸メールのマクロでNo.00469
hum2 さん 10/05/07 02:02
 
 きいろいまふらあ様
 お世話になります。hum です。

おかげさまで希望通りの動作となりました。
大変有意義で貴重なアドバイス、ありがとうございました。

[ ]
RE:00468 ■【質問】秀丸メールのマクロでNo.00470
きいろいまふらあ さん 10/05/07 02:04
 
きいろいまふらあです。

>あと、私の勘違いかも知れませんが、マクロ動作のデフォルト設定で
>桁補完形式デフォルト  #hokan   = 1;  としら、空白(右揃)でした。

私の手抜きで、マクロ中のコメントとメニュー画面での表現が統一されていませ
ん(そのことをご指摘いただいているということなのでしょうか?)が、

スペース補完      と 空白(右揃) は同じことを意味しています。
スペース補完(左揃え) と 空白(左揃) は同じことを意味しています。

>こうなってしまったのかもという気がしますが...わかりません。
>この件はそちらで再現しますでしょうか?

「こうなって」や「この件」が何を指しているのかが理解できずにおりますが、

#hokan=0; →メニューの初期値が「補完なし」
#hokan=1; →メニューの初期値が「空白(右揃)」
#hokan=2; →メニューの初期値が「0補完」
#hokan=3; →メニューの初期値が「空白(左揃)」

となれば正常です(私のところでもそのように動作します)。

>//MLT_NUM.mac
>//////////////////////////////////////// マクロ動作のデフォルト設定
>  #hokan   = 2;         // 桁補完形式デフォルト
>// 正 0:補完なし  1:空白(右揃)  2:0補完  3:空白(左揃)
>//Org 0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃
>え)

これ↑は何をしようとされているのでしょうか?
ご存じかもしれませんが、「//」から行末まではいわゆる「コメント」部分で、
マクロ中に注釈を付けているだけで、マクロそのものの動作には影響しません。

>//////////////////////////////////////// MAINMENU:
>MAINMENU:
>  $$hokan = midstr("補完なし 空白(右揃)0補完  空白(左揃)",#hokan*10,10);
>//Org "補完なし 空白(右揃)0補完  空白(左揃)"
>  menu "■ Main Menu of マルチナンバリングマクロ for 秀丸",
>//以下省略

この部分は、#hokanの値に応じてメニューに表示させる言葉を$$hokanに格納し
ているだけなので、ここだけいじっても、処理内容は変えられません(ご承知の
上かとも思いましたが、念のため)。

[ ]
RE:00470 ■【質問】秀丸メールのマクロでNo.00471
hum2 さん 10/05/07 04:52
 
 きいろいまふらあ様
 お世話になります。hum です。
>私の手抜きで、マクロ中のコメントとメニュー画面での表現が統一されて
>いません(そのことをご指摘いただいているということなのでしょうか?)
>が、
>スペース補完      と 空白(右揃) は同じことを意味しています。
>スペース補完(左揃え) と 空白(左揃) は同じことを意味しています。

>>// 正 0:補完なし  1:空白(右揃)  2:0補完  3:空白(左揃)
>>//Org 0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃
>>え)
>
>これ↑は何をしようとされているのでしょうか?
>ご存じかもしれませんが、「//」から行末まではいわゆる「コメント」部分で、
>マクロ中に注釈を付けているだけで、マクロそのものの動作には影響しません。

//正   は初期値に対応した表示 $$hokan =を確認した際に動作を
マクロ中に注釈コメントとしてを付けただけです。
//org  は元々あったコメントを消さずに//org  と残しただけです。
一応、釈明しますがマクロ中のコメントを表現が不統一という指摘ではなく

 「空白(右揃)」 と      0補完     は違う意味でしょ。
 「0補完」    と  スペース補完(右揃え) も違う意味でしょ。

(メニューの初期値番号1と2が が//正 と//orgでは逆に書かれている)
という報告以外に他意はありません。

きいろいまふらあ様の指示では
//0:補完しない 1:スペース補完 2:0補完 3:スペース補完(左揃え)
>#hokan=0; →メニューの初期値が「補完なし」
>#hokan=1; →メニューの初期値が「空白(右揃)」
>#hokan=2; →メニューの初期値が「0補完」
>#hokan=3; →メニューの初期値が「空白(左揃)」
>
>となれば正常です(私のところでもそのように動作します)。
>>

(マクロ中メニューにはこう書かれています。)
//0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃え)
#hokan=0; →メニューの初期値が「補完なし」
#hokan=1; →メニューの初期値が「0補完」
#hokan=2; →メニューの初期値が「空白(右揃)
#hokan=3; →メニューの初期値が「空白(左揃)」

となれば初期値が1; と2; が逆でしょ正常とは?

[ ]
RE:00471 ■【質問】秀丸メールのマクロでNo.00472
きいろいまふらあ さん 10/05/07 07:12
 
きいろいまふらあです。

すみません。私が何か見落としをしているのだと思います。
お手数でなければ、恐縮ですが、以下に挙げていただいたコメント文が元のマク
ロの何行目あたりに書かれていたものかを教えていただけないでしょうか?(恥
ずかしながら、自分では見つけられませんでした。)

>>>//Org 0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃
>>>え)

>//org  は元々あったコメントを消さずに//org  と残しただけです。

>(マクロ中メニューにはこう書かれています。)
>//0:補完しない 1:0補完 2:スペース補完(右揃え) 3:スペース補完(左揃え)

念のため確認ですが、マクロの1行目にバージョン等を表記しているのですが、
お使いいただいているのは

// 「Multi Numbering for 秀丸エディタ 1995.12.31版(Ver 1.10)」(mlt_num.
mac)

で合っているでしょうか?(私はもっぱらこのバージョンをお使いいただいてい
るという認識でずっとお話ししております。)

かえってご面倒をおかけしてしまうようですみません。
よろしくお願いいたします。

[ ]
RE:00472 ■【質問】秀丸メールのマクロでNo.00473
hum2 さん 10/05/07 13:07
 
 きいろいまふらあ様
 お世話になります。hum です。
面倒なので再度DLして上書き保存してみます。

[ ]
RE:00473 ■【質問】秀丸メールのマクロでNo.00474
きいろいまふらあ さん 10/05/08 00:27
 
きいろいまふらあです。

ダウンロードし直していただいて、なおおかしな点がありましたら、ご指摘いた
だければと思います。よろしくお願いします。

[ ]
RE:00474 ■【質問】秀丸メールのマクロでNo.00475
hum2 さん 10/05/08 22:14
 
 きいろいまふらあ様
 お世話になります。hum です。
ダウンロードしたマクロを教えて頂いた変更で下記のような整形が
簡単になりました。残念なのは、秀丸エディタにテキストデータは
移さず、秀丸メール上で選択された範囲の行頭に 1)、2)、3)…と
付番してテキスト整形する事を念頭に置いていましたが、結果的に
条件を後出しすることになり、完成にはたどり着けなかったことです。
なのに、あれこれと何度もマクロを作り直して頂き申し訳ありません
でした。全文投稿は冗長すぎると思った一部抜粋がかえって
「やりたい仕様」が、わかりにくい投稿になってしまい残念です。

最後に、全文投稿になってしまいますが付番のない状態から
付番時点の希望した姿がこうですとお示しして報告とさせて頂きます。

Fake Expo goods on sale・・・・.
Takanori Kato / Yomiuri・・・・.
01) SHANGHAI--During the fi・・・・.-----------ここから付番
02) Shanghai World Expo, a ・・・・.
03) were selling fake copie・・・・.
04) The rehearsal for the 2・・・・.
05) opens on May 1, came on・・・・.
06) the promotional song co・・・・.
07) have been likely plagia・・・・.
08) singer-songwriter.
09) Outside the venue, a 71・・・・.
10) who was displaying doll・・・・.
11) "They're selling well f・・・・.
12) to fully control [the s・・・・.
13) Olympics, I earned 20,0・・・・.
14) fake goods.As the Shang・・・・.
15) I may make even more."・・・・.
16) About 200,000 people, i・・・・.
17) construction of the exp・・・・.
18) were moved out for the ・・・・.
19) to take a look around a・・・・.
20) Four more rehearsals ar・・・・.
21) people may participate.
22) The city was put on a h・・・・.
23) large number of armed p・・・・.
24) stations.Security was a・・・・.
25) venue as visitors had t・・・・.
26) some visitors to wait f・・・・.
27) Prohibited items includ・・・・.
28) as well as banners, out・・・・.
29) activities might occur.--------------------ここで付番終了
(Apr.22, 2010)-----------------------------ここで一区切り
'Opinion No. 32' booklet giveaway
The Yomiuri Shimbun
01) The Yomiuri Shimbun is offering re・・・・.ここから付番
02) The 20-page booklet, the 32nd of i・・・・.
03) To obtain a free copy, send your n・・・・.
04) You can also apply for the booklet・・・・.
05) Please allow about two weeks to re・・・・.ここで付番終了
(Apr. 29, 2010)-----------------------------ここで一区切り
Japan's Green zones itchy to be g・・・・.
The Yomiuri Shimbun
01) Local residents and groups across・・・・.ここから付番
02) Preparations are under way in eig・・・・.
03) Geoparks are areas that are inter・・・・.
04) The certification is given by the・・・・.
05) So far, three areas in Japan have・・・・.
06) The certification ceremony for th・・・・.
07) Eight areas that have been certif・・・・.
08) Geoparks have become widely known・・・・.
09) In the Muroto area, signage has b・・・・.
10) According to sources that include・・・・.
11) In the case of Happocho, Akita Pr・・・・.
12) A local government official said:・・・・.
13) A key part of the screenings for ・・・・.
14) In the case of the Itoigawa river・・・・.
15) Mahito Watanabe, chief of the sec・・・・.ここで付番終了
(May.4, 2010)-----------------------------ここで一区切り


[ ]