2012年11月13日

EmEditor・ネット検索マクロ改良版

 まとめはこちらLink

 以前、「EmEditor小技・範囲指定でネット検索」の記事で、EmEditorから直接ネット検索出来る方法を書いたけど、これだと検索サイトごとに外部ツールを増やさないといけない。
 そこで、外部ツールは一つで、後はマクロの変更で可能な形を見つけたので掲載。

 方法は、まず前回と同じ方法、メニュー「ツール」→「外部ツール」→「外部ツールの設定」→「新規作成」で、次の項目を追加。

タイトル: 「ネット検索」など分かりやすいものを
コマンド: $(CurText)

20121113-01.png

20121113-02.png

 作成した外部ツールを一番上にすれば、外部ツールNo.は0なので扱いやすい。

 そして次のマクロ2つを作成。
ネット検索定義用マクロ
( "NetSearch.jsee"のファイル名で保存 )


// ネット検索定義
function NetSearch(ComTop , ComEnd) {
if ( document.selection.IsEmpty ) // 範囲指定無ければ
document.selection.SelectLine();// 1行選択
SWord = document.selection.Text; // 範囲を記憶
editor.ExecuteCommandByID(4096); // 新規作成
document.selection.Text =
ComTop + SWord + ComEnd; // 文字貼付
document.selection.
StartOfDocument(true); // 先頭へ範囲指定
editor.ExecuteCommandByID
( 8192 + 0 ); // 外部ツール実行
editor.ExecuteCommandByID(4120); // 文書破棄
}
実行用マクロ
( "Google.jsee"など好きなファイル名で保存 )


#tooltip = "Google検索"
#include "NetSearch.jsee"
// Google検索
NetSearch("http://google.com/search?q=" , "");
 外部ツールと"NetSearch.jsee"を1つ作っておけば、検索サイトを増やす場合は実行用マクロだけ作ればいい。
 外部ツールの設定として、コマンド"$(CurText)"と、範囲選択した文字だけを実行するようにしているので、そこにURLをそのまま送ればいい。
 そのURLを取得する方法として、

範囲選択文字を取得 → 編集用に新規文書作成 → 取得文字にURLを追加して書込
→ それを範囲指定 → 外部ツールに送る → 文書を破棄

 と、文書を作成してそこに書き込み、URL取得が終わればそれだけ消すという流れ。
 実行用マクロから呼び出す定義関数は、

NetSearch("【URL: 検索ワードの前】" , "【URL: 検索ワードの後】");
という書式。
 検索URLについて、他のサイトならこんな感じ。
Yahoo辞書

#tooltip = "Yahoo辞書"
#include "NetSearch.jsee"
// Yahoo辞書
NetSearch("http://dic.search.yahoo.co.jp/search?ei=UTF-8&p="
, "");

Google翻訳

#tooltip = "Google翻訳"
#include "NetSearch.jsee"
// Google翻訳
NetSearch("http://translate.google.com/?text="
, "&hl=ja&langpair=auto|ja&tbb=1&ie=");

 ちなみにこれ、URLをそのまま送っているだけなので、実際は検索に限らずURLなら何でも実行可能。
 色々と必要なサイトを登録すると便利だと思う。



タグ:EmEditor

posted by 司隆 at 19:07 | Comment(0) | Computer
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。