[ 新規に投稿する ]

NumberingX.macの連番修正No.00688
山紫水明 さん 22/12/23 11:57 [ コメントを投稿する ]
  追伸です。

もし両方ともに対応させたかったら
    replacedown "([ \\t])([0-9]+$)", "\\1" + str(#i), regular;

とすればいいと思います。

                    山紫水明
                    SANSHISUIMEI
[ ]
RE:00688 NumberingX.macの連番修正No.00689
とむ さん 22/12/23 17:47 [ コメントを投稿する ]
  山紫水明様

ありがとう御座います。
両対応できました!!
感動です(T_T)

最後の質問なのですが、選択状態の行だけにマクロを適用しようとするとどうすれば良いでしょうか?
例えば以下の5〜7行目を選択し、マクロを実行すると、3100〜3300の値だけが変わり、他のdefine値は変わらないといった具合です。

#define STRING1 2100
#define STRING2 2101
#define STRING3 2102
...
#define STRING51 3100 ←行選択中
#define STRING52 3200 ←行選択中
#define STRING53 3300 ←行選択中
..
#define STRING71 4100
#define STRING72 4200
#define STRING73 4300

あまりお願いすると申し訳ないので自分でも調べてみたのですが、敷居が高くなかなか解決できません。。
度々申し訳ありませんが、ご教示頂けませんでしょうか?
[ ]
RE:00689 NumberingX.macの連番修正No.00691
山紫水明 さん 22/12/24 18:15 [ コメントを投稿する ]
   とむさん,
 次のようにしたらどうでしょうか。

//--------- ReNumber.mac ---------------------//
if(!selecting ) selectall;
#top = seltoplineno;
#end = selendlineno - 1;
moveto2 1, #top;
#ime = imestate;
if (#ime) imeswitch;
$begin = input("スタート番号は?");
#i = val($begin);
while( 1 ) {
    replacedown "([ \\t])([0-9]+$)", "\\1" + str(#i), regular;
    if( lineno >= #end ) break;
    if( !result ) break;
    #i = #i + 1;
}
if (#ime) imeswitch;
endmacro;
//-------------------------------------------//

                    山紫水明
                    SANSHISUIMEI
[ ]
RE:00691 NumberingX.macの連番修正No.00692
とむ さん 22/12/24 19:14 [ コメントを投稿する ]
  山紫水明様
完璧に動きました。
本当にありがとう御座いましたm(_ _)m
[ ]

[ 新規に投稿する ]