>ただ、わがままを言わせていただくと、マクロ実行後、カーソルが、マク >ロを実行した位置に戻ってくれるとさらにありがたいかなあ、と思った次 >第で・・・
これでどうでしょうか。
proc main dim srchstr$, c, n, x, y if @TextSelect$ = "" then srchstr$ = inputbox$("検索する文字列を入力してください。", " * 文字列の使用回数を調査 * ", "", "") if srchstr$ = "" or srchstr$ = chr$(&H1B) then exit proc else srchstr$ = @TextSelect$ end if x = @BytePos y = @Line @Redraw = 0 @MoveFileTop c = len(srchstr$) if left$(@TextCr$(@Line), c) = srchstr$ then n = 1 end if do while 1 @FindStringBottom srchstr$ if @@SearchFound = 0 then exit do n++ loop @BytePos = x @Line = y @Redraw = 1 call msgbox("""" + srchstr$ + """" + " は " + cformat$("%d", n) + " 個見つかりました。", 0, " * 文字列の使用回数を調査 * ") end proc
@BlockClipboardCopy を使うとクリップボードに入るので、かぶねこさんの 投稿を参考にして、@TextSelect$ に変更しました。実は、このようなプロパ ティがあることを知らなかったので、以前からちょっと悩んでいました。
# 途中からマクロの勉強のようになってしまいましたが、やはりそつのない仕 # 事をするのは容易ではありませんね。普段はすでに出来上がったマクロを使 # わせていただく側なので、なかなか気がつきませんが。 |