• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:WORD2010で英単語をググるマクロは作れますか)

WORD2010で英単語をググるマクロは作れますか

このQ&Aのポイント
  • WORD2010を使って翻訳作業をしています。英単語を選択して、ワンボタンでグーグル検索をしたいのですが、方法はあるでしょうか。
  • 現在、フリーウェアを使用して右クリックメニューに「グーグル検索」を追加しましたが、完全に英単語のみの検索になってしまい、手間がかかっています。
  • また、左手用キーボードや電子辞書も使用していますが、訳す際にはグーグルで用例を探す必要があります。お知恵をお貸しいただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

> たとえば「Bayes' rule」という文字列を選択した場合、「訳 Bayes'」のみで検索されてしまいます。 Googleで検索する場合のURLには「訳+Bayes'+rule」と「+」でつなぐ必要があるためですね。 空白を「+」に置換するなんかはVBAの得意な分野なので、 Sub yaku3()  Dim strSel As String ' 選択中の文字列  Dim strURL As String ' URLの文字列  ' 選択中の文字列を取得し、両端空白を削除  strSel = Trim(Selection.Text)  ' 文字列が空なら終了  If strSel = "" Then End  ' 空白を+に置換  strSel = Replace(strSel, " ", "+")  strSel = Replace(strSel, " ", "+")  ' 選択単語をGoogle検索「訳 <単語>」のURLにする  strURL = "https://www.google.co.jp/search?q=%E8%A8%B3+" & strSel  ' Chromeを起動し、URLを呼び出し(起動中なら自動的に新規タブで開いてくれる模様)  Shell ("【chrome.exeのパス】 -url " & strURL) End Sub でどうでしょう。

2323ok
質問者

お礼

すごいです。完璧です。翻訳作業がものすごく快適になりました。 自分ではとてもできないことを丁寧に教えていただき、感謝してもしきれません。本当にありがとうございました!

その他の回答 (5)

回答No.5

> 新規ウィンドウの立ち上げよりは、新しいタブの立ち上げの方が 自分もそう思いました…。 Chromeで試してみると、自分の環境だとChrome君がなんかいい具合にタブで開いてくれるようです。 Sub yaku2()  Dim strSel As String ' 選択中の文字列  Dim strURL As String ' URLの文字列  ' 選択中の文字列を取得  strSel = Selection.Text  ' 文字列が空なら終了  If Trim(strSel) = "" Then End  ' 選択単語をGoogle検索「訳 <単語>」のURLにする  strURL = "https://www.google.co.jp/search?q=%E8%A8%B3+" & Selection.Text  ' Chromeを起動し、URLを呼び出し(起動中なら自動的に新規タブで開いてくれる模様)  Shell ("【chrome.exeのパス】 -url " & strURL) End Sub Shellの【chrome.exeのパス】の部分は、インストールされているchrome.exeの場所を指定してください。 -urlの前の半角空白を忘れずに。 例えば自分だと、 C:\Users\【ユーザー名】\AppData\Local\Google\Chrome\Application\chrome.exe デスクトップなどにChromeを起動するためのショートカットがあるなら、ショートカットを右クリック-[プロパティ]でショートカットのプロパティを開き、「リンク先」の内容をコピペして下さい。

2323ok
質問者

補足

再度のご回答有り難うございます!この方法も成功しました。ものすごく便利になりました!…が、大変恐縮なのですが、もう一つだけ教えていただけないでしょうか。解答1の方法では問題なかったのですが、この解答5の方法ですと、たとえば「Bayes' rule」という文字列を選択した場合、「訳 Bayes'」のみで検索されてしまいます。これを「訳 Bayes' rule」というふうに、複数単語も対象となるようにすることは可能でしょうか? もし可能でしたら、ご教示いただけますと幸いです。よろしくお願い致します。

noname#222556
noname#222556
回答No.4

No.3です。 では、こういうのは? 参考:http://news.mynavi.jp/column/windows/327/ ※レジストリの編集はあくまでも自己責任でお願いします。 --- 1. 管理者権限でレジストリエディターを起動  1-1. [Win] + [R]キーを押して「ファイル名を指定して実行」を起動  1-2. テキストボックスに「regedit」と入力して<OK>ボタンをクリック 2. レジストリエディターが起動したら、 「HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\General」キーを開く  ※参考Webサイト上では「...Office\15.0...」となっていますが、  質問者さまのOfficeは2010なので、「14.0」を開いてください 3. 文字列値「SearchProviderName」を作成し、データを入力  3-1. [General] キーを右クリックし、[新規] - [文字列値] を選択  3-2. 値名を「新しい値 #1」を「SearchProviderName」に変更  3-3. 文字列値「SearchProviderName」をダブルクリックで開き、データを「Google」に変更  3-4. [OK] ボタンクリックで閉じる 4. 文字列値「SearchProviderURI」を作成し、データを入力  4-1. [General] キーを右クリックし、[新規] - [文字列値] を選択  4-2. 値名を「新しい値 #1」を「SearchProviderURI」に変更  4-3. 文字列値「SearchProviderURI」をダブルクリックで開き、   データを「https://translate.google.co.jp/#en/ja/」に変更  ※「/#en/jp」で英語→日本語を意味する  4-4.[OK] ボタンクリックで閉じる 5. レジストリエディターを終了 --- ワードを起動し、英単語を検索する文字列上で右クリック、 [Googleで検索]をクリックすると、Google翻訳の画面に飛びます。 お試しください。

2323ok
質問者

お礼

申し訳ありません。No.1の回答者様にご教示いただいた方法で、とりあえず解決したということと、レジストリをいじるのは、私にはちょっと敷居が高いので、今回は見送らせていただきます… ものすごく丁寧に指導していただいたのに申し訳ありません。試してみてもいいとは思うのですが… ご回答、ありがとうございました。

noname#222556
noname#222556
回答No.3

単語ごとの検索が必要なのですか? マクロではないですが、こちらで紹介している方法はいかがでしょうか。 カーソル位置の単語の意味を調べる、という手段も載っています。 https://azby.fmworld.net/support/corner/wordlesson/050/

2323ok
質問者

お礼

デフォルトの翻訳機能は、正直に申しまして、ちょっと能力が低いのです…。 結局、電子辞書やグーグルで調べ直すことになってしまいます。 ご回答、ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

それをやるためには (1)ワード文書の単語を扱うための、WordVBA(マクロといっている人が多い)の勉強(2)まずはどの検索サイトを使うか(Googleが多いかも) そのサイトにプログラムで行くコード(Navigateという) (3)WEBのweblioなどのサイトなど翻訳の専門サイトに行くコード 同時にそのサイトに、英語単語を引き渡すコード。 (4)たくさんの語義の候補が出る場合の、どれを選んで(使用者がマウスで選ぶことになろう)コピーするかのコード。人間がコピーするとして、それを捉えるコード (5)そのコピーしたものをWordVBAで扱い、文書の所定の位置に貼りつけるコード ーー しかし、ワードVBAの解説書でも現在刊行されているのは2本ぐらいで、土屋和人氏のものが数年前に出ています。後はWEBの断片的な解説で勉強するしかない。 またWEBの仕組みを使ってやるとして、WEBをプログラムで扱うのはエクセルVBAなどの外縁の知識として、質問やWEB記事も多い。上記(2)(3)までは、解説が多い。 上記と別本で、土屋和人氏のIEをVBAで扱う解説本もある。 WEBの利用中にコードを用いて、必要なものを探させたり、画面のクリックを行わせたり、画面結果をコピーしてくるなどは、特別の知識が要る。プロ級の知識かWEBプログラムマニアでないとむつかしいと思う。 一般には素人が、マウスやキーボード入力を行い、判定や、結果を持ってくるのは人間が行い、コンピュタに移すのは、コピペしかない(または印刷)。 どうしてもやりたいというなら、こんな無料のサイトに質問するのでなく、相当の有料覚悟で、プロに相談すべきだと思う。特別なマニアや経験者でないと、素人では、指導者がなくて、何年たってもできるようにならないだろう。

2323ok
質問者

お礼

うーむ私の考えた通りだと、かなり複雑な工程になってしまうのですね。 いえ、訳語をまたWORDに持ってくることまでは不要で、weblioや用例が表示されるところまででよいのですが… プログラミングどころか、PCの知識そのものが一般ユーザー(以下?)のレベルなのでツライところです。 WordVBA、Navigateなど、非常に有用なキーワードを教えていただきました。勉強になりました。 ご回答ありがとうございました。

回答No.1

> 「pen 訳」という形でワンボタンで検索したいということです。 Googleの検索結果のトップに表示されるのが、Weblio辞書のサイトだったり、goo辞書だったりで、面倒な気もします。 goo辞書ならgoo辞書で翻訳って方が使い勝手が良いようにも思いますが。 VBAで翻訳ページを表示させるなら、 ・Alt+F11でVBEditor起動。 ・左側のプロジェクトエクスプローラーで、複数の文書で利用するなら、Normal、対象の文書だけならProjectを右クリックし、[挿入]-[標準モジュール] ・標準モジュールに以下を貼り付け。 Sub yaku()  Dim objIE As Object  Set objIE = CreateObject("InternetExplorer.Application")  objIE.Visible = True  objIE.navigate "https://www.google.co.jp/search?q=%E8%A8%B3+" & Selection.Text End Sub 単語を選択した状態でマクロを実行すると、IEが起動して該当ページを表示。 ツールバーのボタン、右クリックメニュー、ショートカットキーなんかに割り当てできるハズ。 -- > ・「右クリックでgoogle!」というフリーウェアは入れてみました。 > (設定の仕方はあるのかもしれませんが、マニュアルを読んでもわかりませんでした。) こちらで設定も出来るようです。 余計なアドイン入れたくないし、メールも面倒なので、自分は試してないですが。 作者のサイトがアクティブなので、相談してみるとか。

2323ok
質問者

お礼

教えていただいた通りの方法でできました!ショートカットキーの割り当てもできました。 欲を言うと、IEよりはChrome、新規ウィンドウの立ち上げよりは、新しいタブの立ち上げの方が私の使い勝手としてはよい、ということはあります。でも、少し検索しましたが、それだとだいぶ難易度があがりそうです。 ともかく私の希望通りの結果を得られました。本当にありがとうございました。