#3835
ShuHei
メンバー

マクロを使えばご希望のことは可能です。
下記コードの//Initializeから最後の}までコピーし、
emeditorで新しい文章を開いてペーストし、text_support.jseeという名前をつけて保存してください。

そのままtext_support.jseeを開いたまま
1.メニューの「マクロ」より「これを選択」をクリック
2.メニューの「マクロ」より「実行(R)」をクリック

そうするとポップアップで
文字を逆にする(T)
大文字小文字を反転する(^)
と表示されるのでお好きな処理を選んでください。
(ヘルプのキーボードマップでこのマクロ設定しておくと便利です)

デフォルトでは選択範囲がないとキャレットがある位置の単語を対象に処理を行います。

#息抜きで作ったのでどこか間違ってたらごめんなさい・・・

//Initialize
pos = new Object;
commands = new Array;
ccase = new Array;

commands[1] = {
“function” : “reverse”,
“label” : “文字を逆にする(&T)”
}
commands[2] = {
“function” : “swap”,
“label” : “大文字小文字を反転する(&^)”
}

ccase[1] = “toLowerCase”;
ccase[2] = “toUpperCase”;

String.prototype.reverse = function(){
return this.split(“”).reverse().join(“”);
}
String.prototype.swap = function(){
return swap(this.split(“”));
}

//Main
getPos();

menu = CreatePopupMenu();
for(var n in commands)
menu.Add(commands[n][‘label’],n);

result = menu.Track( 0 );
if( result != 0 ) execute(result)

setPos();
Quit();

//Functions
function execute(num)
{
document.selection.Text = getText()[commands[num][‘function’]]();
}

function getText()
{
with(document.selection)
{
if(!(w = Text))
{
selectWord();
w = Text;
}
}
return w;
}

function swap(array)
{
for(i=0;i 64 && num < 91) ? 1 : 2;
}

function getPos()
{
with(document.selection)
{
pos = {
x : GetActivePointX(eePosLogical),
y : GetActivePointY(eePosLogical)
}
}
}

function setPos()
{
with(document.selection)
{
SetActivePoint(eePosLogical,pos['x'],pos['y'])
}
}