秀丸置換/マクロで、以下の置換を行いたいのですが、、、
いや、久々だ。
質問に答えよう、という気になったのも。
、、、秀丸マクロを書くのも。
一発置換は考えるのが面倒なので、マクロにて。
// 確認有無 #force = false; // 追加文字 $add = "?uid=NULLGWDOCOMO"; // hrefの値開始文字 $hrefStart = "href=\""; #hrefStartOffset = 6; // hrefの値終了文字 $hrefEnd = "[^=]\""; #hrefEndOffset = 1; // 対象外文字 $except[0] = "#"; $except[1] = $add; #exceptNum = 2; while (true) { // hrefを探す searchdown $hrefStart , regular, nocasesense; // 見つからなかったら終了 if (!result) endmacro; // x,yを保持 #startx = x + #hrefStartOffset; #starty = y; // 終了文字を探す searchdown $hrefEnd , regular, nocasesense; // 見つからなかったら次へ if (!result) continue; // hrefの値を取得 $val = gettext(#startx, #starty, x + #hrefEndOffset, y); // 除外文字列の有無チェック #found = false; #loop = 0; while (#loop < #exceptNum) { if (strstr($val, $except[#loop]) != -1) { #found = true; break; } #loop = #loop + 1; } // 除外文字列がなければ、値挿入 if (!#found) { if (!#force) { question "行" + str(#starty + 1) + "列" + str(#startx) + "\n" + $val + $add + " にします。\nよろしいですか?"; } if (result == yes || #force) { moveto x + #hrefEndOffset, y; insert $add; } } }
これで、OKだと思うけど、ダメかな?
ダメならコメント頂ければ、また気が向いた時に回答しますよ〜。
追記
書き忘れました。
一々確認メッセージが出るのが、うるさい、という場合。
お分かりかもしれませんが、二行目の「#force = false;」を
「#force = true;」にすれば、確認メッセージは出ません。