現在秀丸エディタで開いているテキストに対して、以下の関数を利用することが出来ます。
現在編集中の秀丸エディタのテキスト全体を得る
現在編集中の秀丸エディタのテキスト全体を、文字列へと変更する
#JS = loaddll( hidemarudir + @"\hmJS.dll" ); #_ = dllfuncw( #JS, "DoString", R"JS( var totaltext = hm.Edit.TotalText; hm.debuginfo(totaltext); hm.Edit.TotalText = "あいうえお"; )JS"); freedll( #JS );
(単純選択のみが対象となります。ボックス選択や複数選択は対象にはなりません)
現在編集中の秀丸エディタの「選択している」テキストを得る。
現在編集中の秀丸エディタの「選択している」テキストを、"文字列"へと置き換える。
#JS = loaddll( hidemarudir + @"\hmJS.dll" ); #_ = dllfuncw( #JS, "DoString", R"JS( // 何かを単純選択していたら、テキストが得られる var selectedtext = hm.Edit.SelectedText; hm.debuginfo(selectedtext); hm.Edit.SelectedText = "選択しているテキストをこの文字列に置き換えた"; )JS"); freedll( #JS );
現在編集中の秀丸エディタの「カーソルがある行」のテキストを得る。
現在編集中の秀丸エディタの「カーソルがある行」のテキストを、文字列へと置き換える。
#JS = loaddll( hidemarudir + @"\hmJS.dll" ); #_ = dllfuncw( #JS, "DoString", R"JS( var linetext = hm.Edit.LineText; hm.debuginfo(linetext); // 行のテキストを入れ替える感じにするなら、最後に「\n」を付けること。 hm.Edit.LineText = "カーソル行のテキストをこれに変更\n"; )JS"); freedll( #JS );
現在選択中の秀丸エディタのカーソル位置の行番号を得る。
秀丸マクロのlinenoと同じ値。
現在選択中の秀丸エディタのカーソル位置のカラム値を得る。
秀丸マクロのcolumnと同じ値。
#JS = loaddll( hidemarudir + @"\hmJS.dll" ); #_ = dllfuncw( #JS, "DoString", R"JS( var lineno = hm.Edit.CursorPos.lineno; var column = hm.Edit.CursorPos.column; hm.debuginfo( lineno + "," + column ); )JS"); freedll( #JS );
現在選択中の秀丸エディタの「マウスの位置に対応するカーソル位置」の行番号を得る。
現在選択中の秀丸エディタの「マウスの位置に対応するカーソル位置」のカラム値を得る。
#JS = loaddll( hidemarudir + @"\hmJS.dll" ); #_ = dllfuncw( #JS, "DoString", R"JS( var lineno = hm.Edit.MousePos.lineno; var column = hm.Edit.MousePos.column; var x = hm.Edit.MousePos.x; // マウスのスクリーン座標 var y = hm.Edit.MousePos.y; // マウスのスクリーン座標 hm.debuginfo( lineno, column ); )JS"); freedll( #JS );