« 新年の抱負 | トップページ | 郵便番号から住所を探すマクロ(つづき) »

2010年1月 4日 (月)

アルクの「英辞郎 on the WEB」で検索(テンプレート版)

先日、こちらの記事にOHTA さんからご要望いただきましたテンプレートの紹介です。

右クリックでアルクの「英辞郎 on the WEB」の検索ができるマクロのテンプレートです。

「eijiro_search.dot」をダウンロード

こちらを参考にしてインストールをしてください。

▼正常に機能しない理由
OHTAさんにご指摘いただいたとおり、私が掲載した
マクロプログラムには不備がございました。

どういうわけか、間違った箇所に改行が入っているので、
ブログに掲載したマクロをVBEにコピーしてもうまく機能
しないことがわかりました。

大変失礼いたしました。
本記事の後半にプログラム文を再度掲載します。

▼ショートカットメニューの表示方法(その1)
右クリック時に表示されるメニューのことを「ショートカットメニュー」
と呼びます。

このショートカットメニューを使うと、マクロの実行が非常に
簡単になります。

ショートカットメニューにマクロを表示する方法については、
こちらの記事をご覧ください。

同様に、この方法で削除することができます。
表示されているメニューをドラッグすると消すことができます。

誤って削除すると、簡単には元に戻せないのでご注意ください。

▼ショートカットメニューの表示方法(その2)
特定のマクロを登録するマクロもあります。
こちらの記事をご覧ください。

今回紹介するテンプレートは、上記記事で紹介したショートカットメニュー作成の
マクロを用いましたので、本記事の後半のプログラムをご覧ください。

▼英辞郎 on the WEBのマクロ(不要な改行を削除しました)
Sub 英辞郎で検索()

      Dim word As String
      Dim URL As String

10    word = Selection
20    URL = "http://eow.alc.co.jp/" & word

30    ActiveDocument.FollowHyperlink Address:=URL, NewWindow:=False, AddHistory:=True

End Sub

▼ショートカットメニューの登録(ワード起動時)
Sub AutoExec()

10       On Error GoTo AutoExec_Error

      '通常テキスト入力時のショートカットメニュー追加処理
20    With Application.CommandBars("text")
         
          'すでに「英辞郎検索」のショートカットメニューがあれば削除
30        .Controls("英辞郎検索").Delete
         
          '「英辞郎検索」のショートカットメニューの追加
40        With .Controls.Add(Type:=msoControlButton, Before:=4)
50            .Caption = "英辞郎検索"
60            .OnAction = "英辞郎で検索"
70        End With
         
80    End With

      '表中のテキスト入力時のショートカットメニュー追加処理
90    With Application.CommandBars("table text")
         
          'すでに「英辞郎検索」のショートカットメニューがあれば削除
100       .Controls("英辞郎検索").Delete
         
          '「英辞郎検索」のショートカットメニューの追加
110       With .Controls.Add(Type:=msoControlButton, Before:=4)
120           .Caption = "英辞郎検索"
130           .OnAction = "英辞郎で検索"
140       End With

150   End With

160      On Error GoTo 0
170      Exit Sub

AutoExec_Error:

          'ショートカットメニューがない場合には、削除処理を無視する
180       If Err = 5 Then
190           Resume Next
200       Else
210           MsgBox Err.Description & vbCr & vbCr & _
                  "eijiro_searchにエラーが発生したので終了します。"
220       End If
         
End Sub

▼ショートカットメニューの削除(ワード終了時)
Sub AutoExit()

10       On Error GoTo AutoExit_Error

20    Application.CommandBars("text").Controls("英辞郎検索").Delete
30    Application.CommandBars("table text").Controls("英辞郎検索").Delete

40       On Error GoTo 0
50       Exit Sub

AutoExit_Error:
         
          'ショートカットメニューがない場合には、削除処理を無視する
60        If Err = 5 Then
70            Resume Next
80        Else
90            MsgBox Err.Description & vbCr & vbCr & _
                  "eijiro_searchにエラーが発生したので終了します。"
100       End If

End Sub

|

« 新年の抱負 | トップページ | 郵便番号から住所を探すマクロ(つづき) »

▼右クリックでGoogle!」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/519619/47205083

この記事へのトラックバック一覧です: アルクの「英辞郎 on the WEB」で検索(テンプレート版):

« 新年の抱負 | トップページ | 郵便番号から住所を探すマクロ(つづき) »