マクロでやってみました。指定行までを選択。
マクロを実行すると何行までを選択するか聞いてきます。
ただ、ブックマークを使用しているので、このマクロを使用すると
編集中ファイルの他のブックマークが全て解除されてしまいます。
マクロファイル名「SELLINE.PPA」
-----↓ここから↓-----
// 実行には PPA.DLL が必須です。
// マクロファイルの拡張子は .PPA でなくてはなりません。
// 現在のカーソル位置から指定行までを選択する。
// このマクロを使用すると、編集中ファイルの全ブックマークが解除されるので注意!!
var
cx,cy:Integer;
ty:Integer;
begin
// 現在位置を cx,cy に記憶しておく。
cx := StrToInt( S_ExpandParameter( '$x' ) ); // 実行開始時の列
cy := StrToInt( S_ExpandParameter( '$y' ) ); // 実行開始時の行
// 行番号を入力させる
ty := StrToInt( InputBox( '行番号を入力' , '何行目までを選択しますか?' , '' ) );
if( ty = 0 ) then Exit; // 何も入力されなかったら、ここでマクロ中断。
S_BookmarkReset(0); // ブックマークの全解除
S_Jump(ty,0); // 目的行まで飛ぶ
S_BookmarkSet(0); // ブックマーク設定・解除
// カーソル位置を cx,cy へ戻す。
S_Jump(cy,0);
while ( StrToInt( S_ExpandParameter( '$x' ) ) < cx ) do S_Right(0); // カーソル右移動
S_BeginSelect(0); // 範囲選択開始
if( cy < ty ) then
begin // ↓方向に選択する場合
S_BookmarkNext(0); // 次のブックマークへ
S_BookmarkReset(0); // ブックマークの全解除
S_Left(0); // カーソル左移動
S_Right(0); // カーソル右移動
S_Down(0); // カーソル下移動
end
else
begin // ↑方向に選択する場合
S_BookmarkPrev(0); // 前のブックマークへ
S_BookmarkReset(0); // ブックマークの全解除
end
;
end;
-----↑ここまで↑-----