deletecolormarker の使い方が分かりませNo.09663
おすぎ さん 21/10/14 11:39
 
お世話になっております。

deletecolormarker を使ったマクロがうまく動作しません。

●次のマクロを作成しました(カラーマーカーを探して消去する)。
 nextcolormarker;
 beginsel;
 searchdown "[0-9]$", regular;
 deletecolormarker 0, 0, seltopx, seltopy, selendx + 1, selendy;
 endmacro;

●次の文字列(全体にカラーマーカーが付いている)に適用しました。
 AB2020059853

でもカラーマーカーは全く消去されません。
原因を教えていただけますと助かります。
よろしくお願いいたします。

[ ]
RE:09663 deletecolormarker の使い方が分No.09667
秀丸担当 さん 21/10/14 15:49
 

こちらで試してみたところでは、問題無く動いています。
deletecolormarkerの第1パラメータは、レイヤー名で、「一時的なカラーマーカー」
の場合は空の文字列で""となります。
数値で0を指定するのは本来の使い方とは違いますが、0の場合では一応""と同じよう
に動作します。

「一時的なカラーマーカー」とは、[検索]→[カラーマーカー]のサブメニューにある
コマンドの色の付け方です。
「一時的なカラーマーカー」でないとしたら、他のレイヤー名かもしれません。
例えば、検索ダイアログの「すべて検索 - 色付け」の場合はレイヤー名が違って、f
indmarkerというキーワードで指定できます。("findmarker"という文字列ではなくf
indmarkerというキーワード)

[ ]
RE:09667 deletecolormarker の使い方が分No.09668
秀丸担当 さん 21/10/14 15:58
 

すみません。試してみてできていたのは、座標がたまたま合っていただけの偶然でし
た。
deletecolormarker文で範囲を明示指定する場合は、xやyといった感じの座標ではな
く、行番号と桁位置(linenoとcolumn)に相当する数え方を指定しなくてはいけないで
す。
deletecolormarker文は以下のようになります。

deletecolormarker "", 0, seltoplineno, seltopcolumn, selendlineno, selendcol
umn;

[ ]
RE:09668 deletecolormarker の使い方が分No.09670
おすぎ さん 21/10/14 18:05
 
秀丸担当 さま

仰るとおりにしてうまくいきました。
ありがとうございました。

「deletecolormarker には、エディタ的に計算した行番号・カラム位置を
指定する必要がある」というのを、ヘルプに明記していただけますと、同じ間違いを
しないですみます。

お忙しいところすみません。
よろしくお願いいたします。

[ ]
RE:09670 deletecolormarker の使い方が分No.09673
秀丸担当 さん 21/10/15 09:03
 

確かに勘違いしやすいかもしれません。
lineno, column相当の行と桁であることも明記しておこうと思います。

[ ]