- ベストアンサー
WORD2010で英単語をググるマクロは作れますか
- WORD2010を使って翻訳作業をしています。英単語を選択して、ワンボタンでグーグル検索をしたいのですが、方法はあるでしょうか。
- 現在、フリーウェアを使用して右クリックメニューに「グーグル検索」を追加しましたが、完全に英単語のみの検索になってしまい、手間がかかっています。
- また、左手用キーボードや電子辞書も使用していますが、訳す際にはグーグルで用例を探す必要があります。お知恵をお貸しいただけると助かります。
- みんなの回答 (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 でどうでしょう。
その他の回答 (5)
- neKo_quatre
- ベストアンサー率44% (735/1636)
> 新規ウィンドウの立ち上げよりは、新しいタブの立ち上げの方が 自分もそう思いました…。 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を起動するためのショートカットがあるなら、ショートカットを右クリック-[プロパティ]でショートカットのプロパティを開き、「リンク先」の内容をコピペして下さい。
補足
再度のご回答有り難うございます!この方法も成功しました。ものすごく便利になりました!…が、大変恐縮なのですが、もう一つだけ教えていただけないでしょうか。解答1の方法では問題なかったのですが、この解答5の方法ですと、たとえば「Bayes' rule」という文字列を選択した場合、「訳 Bayes'」のみで検索されてしまいます。これを「訳 Bayes' rule」というふうに、複数単語も対象となるようにすることは可能でしょうか? もし可能でしたら、ご教示いただけますと幸いです。よろしくお願い致します。
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翻訳の画面に飛びます。 お試しください。
お礼
申し訳ありません。No.1の回答者様にご教示いただいた方法で、とりあえず解決したということと、レジストリをいじるのは、私にはちょっと敷居が高いので、今回は見送らせていただきます… ものすごく丁寧に指導していただいたのに申し訳ありません。試してみてもいいとは思うのですが… ご回答、ありがとうございました。
単語ごとの検索が必要なのですか? マクロではないですが、こちらで紹介している方法はいかがでしょうか。 カーソル位置の単語の意味を調べる、という手段も載っています。 https://azby.fmworld.net/support/corner/wordlesson/050/
お礼
デフォルトの翻訳機能は、正直に申しまして、ちょっと能力が低いのです…。 結局、電子辞書やグーグルで調べ直すことになってしまいます。 ご回答、ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
それをやるためには (1)ワード文書の単語を扱うための、WordVBA(マクロといっている人が多い)の勉強(2)まずはどの検索サイトを使うか(Googleが多いかも) そのサイトにプログラムで行くコード(Navigateという) (3)WEBのweblioなどのサイトなど翻訳の専門サイトに行くコード 同時にそのサイトに、英語単語を引き渡すコード。 (4)たくさんの語義の候補が出る場合の、どれを選んで(使用者がマウスで選ぶことになろう)コピーするかのコード。人間がコピーするとして、それを捉えるコード (5)そのコピーしたものをWordVBAで扱い、文書の所定の位置に貼りつけるコード ーー しかし、ワードVBAの解説書でも現在刊行されているのは2本ぐらいで、土屋和人氏のものが数年前に出ています。後はWEBの断片的な解説で勉強するしかない。 またWEBの仕組みを使ってやるとして、WEBをプログラムで扱うのはエクセルVBAなどの外縁の知識として、質問やWEB記事も多い。上記(2)(3)までは、解説が多い。 上記と別本で、土屋和人氏のIEをVBAで扱う解説本もある。 WEBの利用中にコードを用いて、必要なものを探させたり、画面のクリックを行わせたり、画面結果をコピーしてくるなどは、特別の知識が要る。プロ級の知識かWEBプログラムマニアでないとむつかしいと思う。 一般には素人が、マウスやキーボード入力を行い、判定や、結果を持ってくるのは人間が行い、コンピュタに移すのは、コピペしかない(または印刷)。 どうしてもやりたいというなら、こんな無料のサイトに質問するのでなく、相当の有料覚悟で、プロに相談すべきだと思う。特別なマニアや経験者でないと、素人では、指導者がなくて、何年たってもできるようにならないだろう。
お礼
うーむ私の考えた通りだと、かなり複雑な工程になってしまうのですね。 いえ、訳語をまたWORDに持ってくることまでは不要で、weblioや用例が表示されるところまででよいのですが… プログラミングどころか、PCの知識そのものが一般ユーザー(以下?)のレベルなのでツライところです。 WordVBA、Navigateなど、非常に有用なキーワードを教えていただきました。勉強になりました。 ご回答ありがとうございました。
- neKo_quatre
- ベストアンサー率44% (735/1636)
> 「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!」というフリーウェアは入れてみました。 > (設定の仕方はあるのかもしれませんが、マニュアルを読んでもわかりませんでした。) こちらで設定も出来るようです。 余計なアドイン入れたくないし、メールも面倒なので、自分は試してないですが。 作者のサイトがアクティブなので、相談してみるとか。
お礼
教えていただいた通りの方法でできました!ショートカットキーの割り当てもできました。 欲を言うと、IEよりはChrome、新規ウィンドウの立ち上げよりは、新しいタブの立ち上げの方が私の使い勝手としてはよい、ということはあります。でも、少し検索しましたが、それだとだいぶ難易度があがりそうです。 ともかく私の希望通りの結果を得られました。本当にありがとうございました。
お礼
すごいです。完璧です。翻訳作業がものすごく快適になりました。 自分ではとてもできないことを丁寧に教えていただき、感謝してもしきれません。本当にありがとうございました!