文字列を選択してGooleで検索No.20050
恭平2 さん 05/09/22 12:55
 
おたずねします。
題名の通り、特定の文字列を選択して、グーグルで検索することは出来ないでしょう
か。
大分前に話題になったようですが、見つけられません。
秀丸は5.04 WINDOWSXP SP2 Home Editionです。
よろしくお願いします。

[ ]
RE:20050 文字列を選択してGooleで検索No.20055
秀丸担当 さん 05/09/22 18:51
 

>題名の通り、特定の文字列を選択して、グーグルで検索することは出来ないでしょう
>か。
>大分前に話題になったようですが、見つけられません。

以前に Hidemernet Explorer をテストするときにそのようなマクロを作ってみ
たことがありましたが、会議室に書いたかどうか定かではないです。
それを元にブラウザが起動するようにも対応したものを作ってみました。


#fHmnetex = false;  //Hidemernet Explorerを使う場合true
if( selecting ) {
    $s = gettext(seltopx,seltopy,selendx,selendy);
} else {
    $s = input( "Google検索" );
}
if( $s == "" ) {
    endmacro;
}
$param = "";
if( #fHmnetex ) {
    $percent = "%";
} else {
    $percent = "%%";
}
#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 + "&ie=Shift_JIS&
oe=Shift_JIS&hl=ja";
if( #fHmnetex ) {
    openfile $param;
} else {
    run "start " + $param + " >nul";
}
endmacro;

[ ]
RE:20055 文字列を選択してGooleで検索No.20057
秀丸担当 さん 05/09/22 18:56
 

会議室に書いたら自動的に改行が入ってしまいました。
正しくは以下の通りです。

#fHmnetex = false;  //Hidemernet Explorerを使う場合true
if( selecting ) {
    $s = gettext(seltopx,seltopy,selendx,selendy);
} else {
    $s = input( "Google検索" );
}
if( $s == "" ) {
    endmacro;
}
$param = "";
if( #fHmnetex ) {
    $percent = "%";
} else {
    $percent = "%%";
}
#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 +
        "&ie=Shift_JIS&oe=Shift_JIS&hl=ja";
if( #fHmnetex ) {
    openfile $param;
} else {
    run "start " + $param + " >nul";
}
endmacro;

[ ]
RE:20057 文字列を選択してGooleで検索No.20058
恭平2 さん 05/09/22 19:06
 
早速のご教示、ありがとうございます。
使わせてもらったところ、マクロエラー:文字列が長すぎます
とでて、うまく動きません。どうしたことでしょうか。

[ ]
RE:20058 文字列を選択してGooleで検索No.20059
恭平2 さん 05/09/22 19:07
 
追加です。
ブラウザはIEでなく、ルナスケープを使っています。

[ ]
RE:20059 文字列を選択してGooleで検索No.20078
恭平2 さん 05/09/24 09:12
 
自己レスです。
「秀丸エディタ マクロ作者会議室 - スレッド03126, 02/05/16」に同じような議論
を見つけました。
でも、このマクロをそのまま使うと、日本語は文字化けするので、1のURLを参考に
して、グーグルに渡す部分を2のように変更したところ、うまく動いてくれました。
お騒がせしました。
1.
http://sonic64.com/2005-09-06.html
2.
http://www.google.co.jp/search?hl=ja&lr=lang_ja&num=50&ie=shift_jis&oe=euc-jp&q=

ついでで申し訳ないですが、Word98でも同じような動作は出来ないでしょうか。ここ
でおたずねすることではないのですが...。

[ ]
RE:20078 文字列を選択してGooleで検索No.20079
h-tom さん 05/09/24 11:33
 

h-tom です。

WindowsXPだと、startは内部コマンドなので、cmd.exeが必要ですね。
 run getenv("Comspec") + " /c start " + $param + ">nul";
それと、コンソールなので$param内の"&"を"^&"にしないと正常に動きません。

startでなくてrundll32.exeを使う方法もありますが・・・。
 run "rundll32.exe url.dll,FileProtocolHandler " + $param;
(秀丸担当氏のマクロの場合。)

>ついでで申し訳ないですが、Word98でも同じような動作は出来ないでしょうか。ここ
>でおたずねすることではないのですが...。
答えてネットか、モーグあたりで聞いた方が早いでしょう。
選択した文字取り込んで、ブラウザ起動すればいいので、そんなに難しくは
ないと思いますが良くわかりません。

クリップボードの内容をweb検索するソフトを使うって方法もありますが。

[ ]
RE:20079 文字列を選択してGooleで検索No.20080
恭平2 さん 05/09/24 12:51
 
どうもありがとうございます。
ワードからのグーグル検索については、ほかのところで聞いてみます。


[ ]
RE:20057 文字列を選択してGooleで検索No.20082
inagaki さん 05/09/26 09:46
 
inagakiです

秀丸エディターからGoogle検索とは素晴らしい発想です。
昔から検索はGoogleを使い、コピー&ペーストでやっていました。
私の環境(Win98SE,秀丸エディター v5.04,Opera v8.5)では
秀丸担当さんのマクロはすんなりGoogle検索でき、感謝感激です。

さて本題です。
こんな素晴らしいマクロを会議室だけに置いておくのは勿體ない。
是非、ライブラリーに登録して皆さんに使ってもらえればと思います。
これは今回のマクロだけではなく、少し前に当会議室で、要望した際に
サッと作ってくれた山紫水明さんの登録済みマクロの変形版(段組切替、
これも素晴らしい)など、他にもライブラリーに登録漏れのお宝が沢山
埋もれているではと思いまして投稿しました。よろしく。

[ ]
RE:20082 文字列を選択してGooleで検索No.20084
秀丸担当 さん 05/09/26 11:39
 

このマクロですが、h-tomさんの言われる通り、cmd.exeを経由したり&や%をエス
ケープしたりする必要がありました。
なぜか自分のWindowsXPではstartがそのまま動いたのでそのまま書いてしまいま
した。

%をエスケープしていないので、場合によっては環境変数が展開されたりしてう
まく動作しないと思います。
ちょうど …%CD%… という具合になったりする場合とか。

とりあえずその点を変えてライブラリにアップしておこうと思います。

[ ]
RE:20084 文字列を選択してGooleで検索No.20091
h-tom さん 05/09/27 02:15
 

h-tom です。

ちょっとした要望というか、ネタ的なモノというか・・・。

今回の件(関連づけ起動)ですが、"openbyshell文の引数指定バージョン"
なんてのがあれば、よかったのかなと思いますが、どうでしょう?

[ ]
RE:20091 文字列を選択してGooleで検索No.20093
秀丸担当 さん 05/09/27 09:47
 

>今回の件(関連づけ起動)ですが、"openbyshell文の引数指定バージョン"
>なんてのがあれば、よかったのかなと思いますが、どうでしょう?

確かに、今回このマクロ作ろうとして、そういやそんな文は無かったのかな、と
思っていました。
無かったので、run文にしてしまいました。
ネタとして参考にしたいと思います。

[ ]