秀丸マクロで「範囲選択」されているかどうかを確認する方法

秀丸マクロで「範囲選択」されているかどうかを確認するには、 「selecting」キーワードを使用します。

ここでは「selecting」キーワードの値や 「範囲選択」のテキストを取得するサンプルコードを紹介します。

「範囲選択」を判断する「selecting」キーワードの使い方

秀丸マクロの「selecting」キーワードは範囲選択中かどうかを表すキーワードです。

範囲選択中の場合は1、そうでない場合は0です。

if文を使って次のように確認できます。


if(selecting){
	message("選択中です");
}else{
	message("非選択中です");
}

「範囲選択」のテキストを取得するサンプルコード

次のサンプルコードは、範囲選択中かどうかを判断し、 範囲選択中ならテキストをメッセージボックスに表示します。

範囲選択中でなければ秀丸マクロを終了します。


if(selecting){
	// 範囲選択中のテキストを取得
	$str = gettext(seltopx,seltopy,selendx,selendy);
	message($str);
}else{
	endmacro;
}

範囲選択に関するその他のキーワード

秀丸マクロで「範囲選択」に関する 「selecting」以外のキーワードを上げておきます。

「selecting」と比べるとあまり使う機会はないでしょうが、 次のようなものがあります。

キーワード内容
rectselectingBOX範囲選択中かどうか
lineselecting行選択開始コマンドによる選択中かどうか
selectionlock選択開始/BOX選択開始/行選択開始コマンドによる選択中かどうか
mouseselectingマウスによる選択中かどうか
multiselecting複数選択中かどうか

参考: 秀丸エディタ マクロ言語ヘルプ