秀丸マクロ: カーソル位置の行の内容を取得する

カーソル位置の行内容を取得する方法として、 biginselを使う方法や、selectlineを使う方法を紹介します。

カーソル行の内容を取得

カーソルがある行の内容を、範囲選択して取得する場合は、 次のように beginsel などの文を組み合わせるとできます。

golinetop;   // 行頭へ

beginsel;    // 範囲選択開始

golineend;   // 行末へ

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

selectline文を使ってカーソル行の内容を取得する

他のやり方として、selectline文を使うと1文でカーソル行を選択できます。
ただし、末尾に改行コードが入るので、 不要な場合は取り除く必要があります。

selectline文を使ったコードは次の通りです。

// カーソル行を選択(改行含む)
selectline;

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

// 末尾の改行を取り除く場合
if (rightstr($str, 2) == "\r\n"){
	#num = strlen($str);
	$str = midstr($str, 0, #num - 2);
}