【Word VBA】英語の辞書定義を一括検索するWordマクロ(OneLook.com)

友人から教えてもらった英語の辞書定義を一気に表示するサイトがあります。

http://www.onelook.com/

このサイトで検索結果を一括で表示するマクロを紹介します。

Google検索のマクロや、英辞郎などのマクロと兄弟です。

このマクロでできること

文字が選択されている状態で実行すると、ウェブブラウザを起動して、その選択された用語をOneLook.comで調べた結果を表示します。

文字が選択されていない状態で実行すると、OneLook.comのトップページが表示されます。

頻繁に使う場合には、キーボードに登録するといいかもしれません。

マクロの解説

Word文書からウェブへ移動する場合には、FollowHyperlink を用います。

オプションとしていくつか設定できるのですが、今回は必要最低限としてAddressだけを記載しました。

その他は省略できます。

myURLにAddressを記載しています。

myURLの書き方ですが、OneLook.comの検索結果を見て考えました。

応用すれば、様々な検索サイトで同じようなマクロを作ることができます。

選択されている文字列を文書内で検索するマクロ」でも紹介しましたが、4行目~8行名は大切です。

If Selection.Start = Selection.End Then

この文章によって、現在文字が選択されているかどうかを確認しています。

Selection.Start は、選択範囲の先頭の位置を示し、
Selection.End は、選択範囲の末尾の位置を示します。

よって、文字が選択されていない場合には、上記条件の判定は「はい(Yes)」になります(詳細は、「【コード】文書中で文字列を選択しているかどうか調べる」をご覧ください)。

この場合には、「検索する文字列」で用いるkeyWord は空欄になります。

keyWord = ""

ですね。

マクロ


Sub MWM_WEB_Search_OneLook()
 Dim myURL As String
 Dim keyWord As String 
 If Selection.Start = Selection.End Then
  keyWord = ""
 Else
  keyWord = Selection.Text
 End If
 myURL = "http://www.onelook.com/?w=" & keyWord & "&ls=a"
 ActiveDocument.FollowHyperlink Address:=myURL
End Sub

関連記事

英辞郎 on the Web で辞書検索するマクロ

ライフサイエンス辞書で検索するマクロ

グーグル検索するマクロ

選択されている文字列を文書内で検索するマクロ

【コード】文書中で文字列を選択しているかどうか調べる

マクロコードの登録方法

ツールバーのボタン登録

コメント

  • 2. Re:Web検索するマクロ

    >ちえぞうさん

    コメントをどうもありがとうございます。

    いろいろと工夫をされてご活用いただき
    大変うれしく思います。

    ちえぞうさんのブログの記事でもご紹介いただきありがとうございます。

  • 1. Web検索するマクロ
    便利でおもしろいですねえ!会社でもひとつ社内サイトもつくりました。ありがとうございます。
    ちえぞう

トップへ戻る