- 締切済み
秀丸エディタで、行の後ろに倍数の連番を挿入したい(少し複雑です)
先ほどの質問とは少し違い、行の後ろに3の倍数を挿入する場合、 a b c d e のような行を a3 a6 a9 a12 a15 b3 b6 b9 b12 b15 c3 c6 c9 c12 c15 d3 d6 d9 d12 d15 e3 e6 e9 e12 e15 のように3の倍数を後ろに挿入したいです。 少し複雑ですが、マクロを使って可能でしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
ちょっとしたい事がちがうようでした、 間違えました、すいません。
作ってみました。 #count = 1; gofiletop; gofileend; #maxcount = lineno; gofiletop; while (#count < #maxcount) { #counta = #count % 5; if( #counta == 0 ) #counta = 5; golineend; insert str(#counta*3); down; #count = #count + 1; }
先にご質問されている,次のページを参考にしたら, 秀丸マクロ初挑戦の私でも,なんとかできましたよ。 「秀丸エディタで、行の後ろに倍数の連番を挿入したい」 http://oshiete1.goo.ne.jp/qa3052158.html ↑教えて!goo ↓OKWave (同じです) http://okwave.jp/qa3052158.html // ---------------------------------------- // 同じ文字列を繰り返す回数の設定 #n = 5; //(←※可変です) // 変数 i の初期化 #i = 1; // 最終行へ移動 gofileend; // その最終行の行番号を変数 max に代入 #max = lineno; // 最初の行へ移動 gofiletop; // 変数 i が max 未満でループ while (#i < #max) { // 変数 j を初期化 #j = 1; // 変数 j が n 未満でループ while (#j < #n ) { // その行をコピー copyline; // その行をペースト paste; // 変数 j に 1 を加算 #j = #j + 1; } // 1行下へ移動 down; // 変数 i に 1 を加算 #i = #i + 1; } //変数 i の初期化 #i = 1; // 最初の行へ移動 gofiletop; // 変数 i が max 未満でループ while (#i < #max) { // 変数 j を初期化 #j = 1; // 変数 j が #n 以下でループ while (#j <= #n) { // 行末へ移動 golineend; // j×3 の文字列を挿入 insert str(#j * 3); // 1行下へ移動 down; // 変数 j に 1 を加算 #j = #j + 1; } // 変数 i に 1 を加算 #i = #i + 1; } //---------------------------------------- // が付いたコメント行(プログラムが無視する行)を入れてみました。 初挑戦なので, 2回往復ループされるという,回りくどい方法でしかうまく行きませんでしたが, 前回の回答で大きなヒントをもらっているのでできました。 もっとスマートな方法もあるとは思いますが, 一応いまのところ私ができる限度です。 スマートな方法などを追求しなければ, 質問者様もヒントを大切にして考えると,できるとおもいますよ。
- koko_u_
- ベストアンサー率18% (459/2509)
自分でコーディングしない理由を補足にどうぞ。
補足
すみません。まだ初心者でマクロの作成ができません。 只今、勉強中です。
お礼
こんなに詳しく教えてくださってありがとうございます。 全くの初心者なので、右も左も分からずにいましたが、親切に教えて頂いてとても感謝しています。 コメント行がわかりやすくて大変参考になりました。 マクロもバッチリできました。 ありがとうございます。