秀丸マクロで選択範囲の文字列を取得する

スポンサーリンク

秀丸マクロ選択範囲の文字列を取得する場合は、 gettext()関数と秀丸マクロの範囲選択関連キーワードを使用して、 次のように記述します。


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


// 範囲選択を維持する場合
$str = gettext(seltopx,seltopy,selendx,selendy, 1);
message($str);

gettext()の書式

gettext(x1, y1, x2, y2)

gettext(x1, y1, x2, y2, n1)

gettext()関数は、x1,y1からx2,y2の範囲にある文字列を返します。 範囲選択を維持する場合はn1に「1」を指定。

範囲選択関連キーワードとその説明は次の通りです。

キーワード説明
seltopx範囲選択開始位置のx座標
seltopy範囲選択開始位置のy座標
selendx範囲選択終了位置のx座標
selendy範囲選択終了位置のy座標

参考: 秀丸マクロ範囲選択関連キーワード

参考: gettext()関数

範囲選択中かどうかを知りたい場合

範囲選択中かどうかを知りたい場合は、「selecting」キーワードを使用します。 範囲選択中の場合は「1」で、範囲選択中でない場合は「0」です。 秀丸マクロサンプルコードは次の通り。


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