秀丸マクロ: 範囲選択

範囲選択について説明します。

範囲選択のキーワード

範囲選択のキーワードの中でもよく使うものを紹介します。

キーワード内容
selecting範囲選択中かどうか。(選択中: 1、非選択中: 0)
seltopx範囲選択開始位置のx座標
seltopy範囲選択開始位置のy座標
selendx範囲選択終了位置のx座標
selendy範囲選択終了位置のy座標

参考: 範囲選択関連キーワード

選択範囲の文字列を取得 gettext()

範囲選択の文字列を取得する場合は gettext()関数を使います。
第5引数に「1」を指定すると範囲選択を維持し、 何も指定しなければ範囲選択は解除されます。

// 選択範囲の文字列を取得(範囲選択を維持しない)
$str = gettext(seltopx,seltopy,selendx,selendy);

// 選択範囲の文字列を取得(範囲選択を維持する)
$str = gettext(seltopx,seltopy,selendx,selendy, 1);

範囲選択中かどうか selecting

範囲選択中かどうかを調べるには selecteing キーワードを調べます。 範囲選択中の場合は1、そうでない場合は0です。

if (selecting == 1){
	// 範囲選択中の処理
} else {
	// 範囲選択中でない場合の処理
}

範囲選択中でなければ秀丸マクロを終了したい場合、 次のように1行で書けます。

// 範囲選択中でない場合、マクロを終了する
if (selecting == 0) endmacro;

範囲選択の開始・取り消し beginsel escape

範囲選択を開始する場合は beginsel文、 範囲選択を取り消す場合は escape文を使います。

// 範囲選択を開始
beginsel;


// 範囲選択を取り消す
escape;

全てを選択 selectall

全てを選択する場合は selectall文を使います。 ショートカットキーの Ctrl + Aと同じ動作をします。

// すべてを選択
selectall;

カーソル行の内容を取得

カーソル位置の行の内容を取得するには、 beginsel文を使う方法やselectline文を使う方法があります。

詳しくはこちら: カーソル位置の行の内容を取得する