質問: 画像左の選択状態の時にマクロ実行で、 画像右の結果を得たいです。 ![画像の説明をここに入力](https://i.stack.imgur.com/4TrAk.png) ``の挿入のマクロは下ですが、 `document.selection.Replace("(.*●.*)","\\1",eeFindReplaceSelOnly | eeReplaceAll | eeFindReplaceRegExp,0);` 選択範囲の上下にを挿入する方法が分かりません。 実現方法はあるでしょうか。 もしよろしければ書き方を教えてほしいです。 よろしくお願いいたします。
回答: 選択範囲の上下に指定文字列を挿入するマクロです。 ``` CombineHistory = true; var x1 = document.selection.GetTopPointX(eePosLogical); var y1 = document.selection.GetTopPointY(eePosLogical); var x2 = document.selection.GetBottomPointX(eePosLogical); var y2 = document.selection.GetBottomPointY(eePosLogical); document.selection.SetActivePoint( eePosLogical, x2, y2 ); document.writeln( "" ); // 選択範囲の下側に挿入したい文字列 document.selection.SetActivePoint( eePosLogical, x1, y1 ); document.writeln( "" ); // 選択範囲の上側に挿入したい文字列 CombineHistory = false; ``` 他のユーザーのためにマクロを実行する方法を書きますと、以下の通りです。 1. 上記のマクロを、適当なファイル名、例えば `InsertDiv.jsee` という名前で、UTF-16 (BOM付き) または UTF-8 (BOM付き) のエンコードで保存します。 2. EmEditor の [マクロ] メニューの [選択] から、保存したマクロを選択します。 3. 編集したいテキスト ファイルを開き、そのファイルがアクティブ状態で、[マクロ] メニューの [実行] (または `Ctrl`+`Shift`+`P`) を選択します。すると、マクロが実行されます。