文書を作成、開く、または閉じるときに Word マクロを自動的に実行する方法 - TechRepublic

文書を作成、開く、または閉じるときに Word マクロを自動的に実行する方法 - TechRepublic

テンプレートの新規、開く、閉じるイベント プロシージャにマクロを追加すると、いくつかのタスクを自動化でき、効率と生産性が向上します。

テンプレートに書式変更を加えることで、文書の書式設定にかかる時間を短縮できることはご存知でしょう。しかし、テンプレートにマクロを追加できることはご存知でしたか?テンプレートをベースにしたすべての文書で、定期的なタスクを自動化したい場合などに活用できます。具体的には、テンプレートにマクロを追加し、新規文書の作成時や、テンプレートをベースにした既存の文書を開いたり閉じたりする際に実行されるマクロを作成できます。

新規文書作成時のタスクを自動化する
新規文書を作成するには、「新規」をクリックするか、[Ctrl]+N キーを押すか、「ファイル」メニュー/タブから「新規」を選択します。Document_New イベントプロシージャを使用すると、新規文書作成時に Word でタスクを実行できます。手順は以下のとおりです。

  1. テンプレートを開きます。Documents and Settings\Administrator/user\Application Data\Microsoft\Templates フォルダに normal.dot または normal.dotm があります。normal.dot や normal.dotm だけでなく、任意のテンプレートを使用できます。
  2. [Alt]+F11 キーを押して Visual Basic Editor (VBE) を起動します。
  3. プロジェクト エクスプローラーで、ThisDocument をダブルクリックします。
  4. 結果のモジュールに、以下に示すイベント プロシージャを入力します。
  5. [保存] をクリックして VBE を閉じます。
プライベートサブ Document_New()
  「ユーザーに挨拶します。」
  MsgBox "ご挨拶", vbOKOnly, "ご挨拶"
終了サブ

Wordに戻ったら、テンプレートファイルを閉じます。次に、新しい文書を作成します。Wordは新しい空白の文書を開きメッセージボックスに簡単な挨拶を表示します。「OK」をクリックしてメッセージを閉じます。(このテクニックはイベントプロシージャとテンプレートとの関係に関するものであるため、マクロは意図的にシンプルになっています。マクロの動作はテクニックにとって重要ではありません。)既存の文書を開くときにタスクを自動化する既存の文書を開くときにタスクを自動化する方法もほぼ同じです。変更点はイベントプロシージャのみです。この場合、次のDocument_Openイベントを使用します。


Private Sub Document_Open()
  'Greet user.
  MsgBox "Greetings", vbOKOnly, "Greetings"
End Sub

このマクロはテンプレートまたは既存の文書に適用できます。テンプレートにマクロを追加すると、Wordは新しい文書を作成するたびにマクロを保存しますつまり、そのテンプレートに基づいて作成したすべての文書は、開くたびにこのマクロが実行されます。

既存の文書を閉じるときにタスクを自動化する
最後にもう1つ、文書を閉じるときにタスクを自動化するイベントプロシージャを紹介します。先ほどのマクロと同様に、このマクロをテンプレートに追加すると、Wordはテンプレートに基づいて作成された文書を閉じるたびにマクロを実行します。以下のイベントプロシージャを使用します。

Private Sub Document_Close()
  'Greet user.
  MsgBox "Greetings", vbOKOnly, "Greetings"
End Sub

すべてのドキュメントのタスクをテンプレートに追加して自動化すると、効率が上がります。

記事をシェア
スーザン・ハーキンスの画像

スーザン・ハーキンス

スーザン・セールス・ハーキンスは、デスクトップソリューションを専門とするITコンサルタントです。以前は、世界最大の技術雑誌出版社であるコブ・グループの編集長を務めていました。

Tagged: