■ 質問はここへ ■

前へ 次へ
No. 221 (220へのコメント)投稿者: CINEPHILE日付: 2001/09/15 03:54:51
題名 : Re^3:頻度カウントマクロ(?)のお願い

>ただ、わがままを言わせていただくと、マクロ実行後、カーソルが、マク
>ロを実行した位置に戻ってくれるとさらにありがたいかなあ、と思った次
>第で・・・

 これでどうでしょうか。

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$ に変更しました。実は、このようなプロパ
ティがあることを知らなかったので、以前からちょっと悩んでいました。

# 途中からマクロの勉強のようになってしまいましたが、やはりそつのない仕
# 事をするのは容易ではありませんね。普段はすでに出来上がったマクロを使
# わせていただく側なので、なかなか気がつきませんが。

No. 222 (221へのコメント)投稿者: CINEPHILE日付: 2001/09/15 05:53:40
題名 : Re^4:頻度カウントマクロ(?)のお願い

 これで最後だといいのですが……。

 マクロの終了前にカーソル位置を復元するところで、先に行を指定しないと
位置がくるってしまうことがあるようです。

 したがって、

@Line = y
@BytePos = x

のように、順番を入れ替えてください。

No. 223投稿者: ケイン日付: 2001/09/15 09:21:55
題名 : 字消しの方法教えてください

はじめまして。
最近「ワードを捨ててエディタ・・・」を購入し使い始めた初心者です。
この本の中で文字の上に線を引く「文字消し」ができることを知り色々と
試したのですが出来ませんでした。
基本的な質問でお恥ずかしい次第です。
諸先輩方、ご指導下さい。
よろしくお願いします。

No. 224 (221へのコメント)投稿者: かぶねこ HP日付: 2001/09/15 11:11:23
題名 : Re^4:頻度カウントマクロ(?)のお願い

CINEPHILE さん、@TextSelect$ が参考になってよかったです。もちろんわたし
もどなたかのマクロを読んで覚えました。マクロで使えるコマンドに何があるか
というのはなかなか全部把握しておけませんよね。ときどき増えますし。

kenmotsu さん、やっぱりカーソル位置復帰はあったほうがいいですよね。原始
的マクロで復帰関係が多くなると「本文」の割合が少なくなってしまって本末転
倒ですし、CINEPHILE さんのがありますが、ついでに。

proc main
dim pos, line, top
pos = @BytePosCr
line = @Line
top = @Line - @TopLine
dim n, s$
if @Select = 0 then exit proc
s$ = @TextSelect$
@Select = 0
n = @@FindFromTop
@@FindFromTop = 1
@UndoBlock = 1
@ReplaceString2 s$, s$, 1
@UndoBlock = 0
@@FindFromTop = n
@Line = line
@ByteposCr = pos
@TopLine = @Line - top
end proc

No. 225 (213へのコメント)投稿者: NAG日付: 2001/09/15 11:15:16
題名 : Re^2:ツールバーなどの表示速度について

かぶねこさん,コメントありがとうございます.

>こういうのはメーリングリスト向けの話題だと思います、が、現在メーリングリ
>ストが不調で、参加して作者に質問してください、とも言えない状況です。

いずれ,MLにも参加させていただきます.

>でかけてみました。「常駐ウイルスソフトの影響」というのがひっかかって
>きました。Virus Scan やウイルスバスターのリアルタイム監視モードとの相性
>が悪いようです。
>
>念のため最新版を使ってみてください。それでもダメならやっぱり作者に対応し
>てもらえるメーリングリストで相談なさるしかないかもしれません。

ウイルスソフトは常駐させていません.QXも最新版です.
うーん,困ったなぁ. でもきっとなにか私の環境が悪さしているのでしょうね.
MLで相談してみます.有難うございました.

No. 226 (223へのコメント)投稿者: かぶねこ HP日付: 2001/09/15 11:27:11
題名 : Re:字消しの方法教えてください

QX付属のヘルプのキーワードから「メモ機能」の項目をひくと、ごく基本的な
説明があります。(説明がそっけないので、ときにわかりにくいかも。)

具体的には、

{中線}ここは文字消し{/中線}
{中線太}ここは文字消し{/中線太}
{中線2}ここは文字消し{/中線2}

などと入力し、同時に印刷の書式設定で「{}有効」にチェックを入れて、印刷
のプレビューをしてみてください。

よだ さんの「印刷メモ埋め込みマクロ」などを使うと便利かもしれません。
http://www.valley.ne.jp/~yod/data/macro/qmac_006.html

No. 227 (226へのコメント)投稿者: ケイン日付: 2001/09/15 12:17:49
題名 : 字消し出来ました

かぶねこ様

教えていただいた方法で試したところ出来ました。
とても早い回答で非常に助かりました。
解らないことがあったらまた質問させていただきます。
ありがとうございました。

No. 228 (224へのコメント)投稿者: kenmotu日付: 2001/09/15 16:46:34
題名 : Re^5:頻度カウントマクロ(?)のお願い

CINEPHILE さん、かぶねこさん。希望どおりのマクロを作っていただき、
さらに作業効率が向上しました。本当にどうもありがとうございました。

CINEPHILE さんのマクロはファイルの先頭からのすべての出現回数。かぶ
ねこさんのマクロは、現在のカーソル位置からの出現回数を検出するよう
に使い分けられますね。

No. 229 (224へのコメント)投稿者: CINEPHILE日付: 2001/09/15 18:09:40
題名 : Re^5:頻度カウントマクロ(?)のお願い

>CINEPHILE さん、@TextSelect$ が参考になってよかったです。もちろんわたし
>もどなたかのマクロを読んで覚えました。マクロで使えるコマンドに何があるか
>というのはなかなか全部把握しておけませんよね。ときどき増えますし。

 おっしゃるとおりですね。マクロのヘルプを通読するのは――挑戦したこと
はありませんが――味気なくて記憶にも残りにくいですし、やはり他の方のマ
クロの中で使われている実例が一番参考になります。言語の習得と通じるとこ
ろがありそうです。

 ところで、別の投稿の件ですが、

>そういえば、この置換個数をマクロで参照できたらいいのに、と以前から
思って
>たんですが、できないんですよね。なんか方法あるのかもしれませんが…
…。

@@ReplaceCount では駄目なのでしょうか。あるいは、これが使えないような
場合のことでしょうか。

No. 230 (229へのコメント)投稿者: かぶねこ HP日付: 2001/09/15 18:36:20
題名 : Re^6:頻度カウントマクロ(?)のお願い

CINEPHILE さん、どうも。

>@@ReplaceCount では駄目なのでしょうか。

え、あったんですね。探せてませんでした。ヘルプに記述がないですが、
@ReplaceString2 でも数字がちゃんと返ってくるみたいですね。いやあ、ありが
とうございます。

次へ
現在の既読番号は 0  既読を


メールアドレスを表示するにはURLの後ろに &m=bb6a9a3f をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/