getselectedrange() 関数(Ver9.35対応版)
目次−
関数(その他関数)−
getselectedrange() 関数
getselectedrange関数は、範囲選択の情報をまとめて取得します。(V9.20以降)
- パラメータ1(文字列型、省略可能)
-
JSON形式で取得する単位を指定します。
省略すると既定の"char"になります。
- 返り値(文字列型)
-
JSONの文字列を返します。
- JavaScript
-
JavaScriptの場合、パラメータ1はオブジェクトを指定できます。(JSONの文字列でも可)
返り値はオブジェクトになります。
- JSON指定/オブジェクト指定について
-
マクロの関数の場合は、取得する単位をJSONの文字列で指定し、JSONの文字列を返します。
JavaScriptの場合は、オブジェクトを指定し、オブジェクトを取得します。
書き方はgetcolormarkerと同じで、単位と範囲だけに限定されたものになります。
指定するプロパティ名と意味:
プロパティ名 値の種類 意味
unit 文字列 位置の単位(既定は"char")
結果のプロパティ名と意味:
プロパティ名 値の種類 意味
unit 文字列 位置の単位
items 配列 入れ子構造のオブジェクトの配列
line1 数値 開始行
col1 数値 開始桁
line2 数値 終了行
col2 数値 終了桁
unitは、"xy" "char" "wcs" "ucs4" "cmu" "gcu" のいずれかで、文字の単位に準じます。"xy"は秀丸単位(座標)で、"char"は秀丸単位(文字列/行)です。既定は"char"です。
既定の"char"のとき、line1, line2は1から数えます。col1, col2は0から数えます。
結果は、選択が0個でも1個でも複数でも、"items"の配列があるオブジェクトとして返ります。
選択が1個以上ある場合は、"unit"が根本にあり、"items"の配列に"line1","col1","line2","col2"があるオブジェクトとして返ります。
例 |
js{
range = getselectedrange();
message("選択個数:"+range.items.length);
}
endmacro;
|
例 |
js{
range = getselectedrange({unit:"wcs"});
}
endmacro;
|
例 |
js{
debuginfo(2);
range = getselectedrange();
console.log( JSON.stringify(range,null," ").replace(/\n/g,"\r\n") );
}
endmacro;
|
colormarker, getcolormarker, setselectionrange, getselectedrangeのオブジェクト指定はだいたい同じ書き方になっていて、相互に呼び換えることができます。
例 |
js{
colormarker({
text: "#F00",
items: getselectedrange({}).items
});
}
endmacro;
|
例 |
js{
cm=getselectedrange();
cm.text="#0FF";
colormarker(cm);
}
endmacro;
|