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

[ ]