秀丸マクロ: 範囲選択
範囲選択について説明します。
範囲選択のキーワード
範囲選択のキーワードの中でもよく使うものを紹介します。
キーワード | 内容 |
---|---|
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文を使う方法があります。