テキストを選択維持のままにしたいNo.33380
柳絮 さん 14/07/29 03:41
 
いつもお世話になります。

秀丸のテキストを選択してから、ウェブブラウザーでグーグル検索をするマクロを愛
用しています。使っているのは以下のマクロです。

ただ、このマクロではブラウザーに切り替えたあと、再び秀丸に戻ったときにはテキ
ストの選択が解除されています。選択維持のままにしたいのですがどのようにしたら
良いのでしょうか。

このグーグル検索マクロには選択解除の「escape」や「endsel」も使われていないよ
うなので、何故解除されてしまうのかわからず悩んでいます。

どうぞよろしくお願いします。

柳絮

/google.mac
//範囲選択している文字列、カーソル位置にある単語、または任意の
//文字列を入力してWebブラウザでGoogle検索をします。
//Hidemernet Explorer をインストールしているときは秀丸エディタ
//上に検索結果を出すこともできます。

//以下設定
#fHmnetex = false;  //Hidemernet Explorerを使う場合true
//以上設定

if( selecting ) {
    $s = gettext(seltopx,seltopy,selendx,selendy);
} else {
    selectword;
    $s = gettext(seltopx,seltopy,selendx,selendy);
    $s = input( "Google検索",  $s );
}
if( $s == "" ) {
    endmacro;
}
$param = "";
if( #fHmnetex ) {
    $percent = "%";
    $and = "&";
} else {
    $percent = "^%%";
    $and = "^&";
}
#c = strlen( $s );
#i = 0;
while( #i < #c ) {
    $param = $param + $percent +
        leftstr( hex( ascii( midstr( $s, #i, 1 ) ) ), 2 );
    #i = #i + 1;
}
$param = "http://www.google.co.jp/search?q=" + $param +
        $and + "ie=Shift_JIS" + $and + "oe=Shift_JIS" +
        $and + "hl=ja";
if( #fHmnetex ) {
    openfile $param;
} else {
    run getenv("Comspec") + " /c start " + $param + " >nul";
}
endmacro;



[ ]
RE:33380 テキストを選択維持のままにしたNo.33381
柳絮 さん 14/07/29 04:13
 
追加です。

この現象は選択した文字を秀丸の「編集」「コピー」したときにも生じます(このシ
ョートカットキーはCtrl+Cです)。このときも同じように選択を維持したいのです。
併せてご教示いただければ幸いです。

柳絮

[ ]
RE:33381 テキストを選択維持のままにしたNo.33382
秀丸担当 さん 14/07/29 09:46
 

マクロで範囲選択を維持するには、gettext関数にパラメータを追加して 1 を書
くとできます。
例えば
    $s = gettext(seltopx,seltopy,selendx,selendy);

    $s = gettext(seltopx,seltopy,selendx,selendy,1);
にします。

Ctrl+C等で行う通常のコピーコマンドは、設定があります。
[その他]→[動作環境]→[編集]のところに『「コピーの」後に範囲選択を解除す
る』があって、これをOFFにすると、解除されないようになります。

[ ]
RE:33382 テキストを選択維持のままにしたNo.33383
柳絮 さん 14/07/29 14:28
 
秀丸担当様

いつも有難うございます。お教えいただいたものでどちらも選択が維持されるように
なりました。素早く助けていただき感謝しています。

柳絮

[ ]