パソコン悪戦苦闘記録

【Wordマクロ】ボタンのクリックでマクロを実行、その作成手順~Word文書上にボタンを配置してマクロを登録

 Wordマクロは、いったん習得するとすごく便利で、手放せなくなります。
 けれども、私の周囲を見回す限りでは、多く利用されているとは思えません。Excelマクロの普及度と比べ、格段の違いを感じます。
 便利な割に利用されない原因の一つとして、作ったマクロはどうすれば使えるのか、その使い方、活用の技・ノウハウが知られていないから、と私は見ています。

 まだ、Wordマクロに慣れていなかった私自身の初心者の時期を振り返ってみても、そのような分析ができそうです。
 いったん、マクロの使い方、活用方法を習得すると、抵抗感なく使えるようになります。

 Wordマクロ活用方法のツボ、ノウハウをこのブログで紹介し、微力ながらWordマクロの普及に貢献できたらいいなと、そう念じています。



 Wordマクロ活用のために、一つ押さえておきたい基礎知識があります。
 それは、マクロの保存場所です。
 マクロの保存場所には、大きく分けて2つあります。
 1つ目は、標準テンプレート(「Normal.dotm」)に保存
 2つ目は、個々の文書(任意のファイル名「HogeHoge.docm」)に保存
です。

 標準テンプレート(Normal.dotm)に保存しておくと、Wordで開いたすべての文書でそのマクロが利用できます。とっても便利です。いちいちマクロの保存ファイルを探すことなく、Wordを開けば、すぐに使えるからです。

 一方、個々の文書に保存しておくと、確かにその文書ファイルのありかを探す手間が必要になる上に、マクロはその文書においてしか使用できないという制約があります。
 ですが、マクロを格納した個々の文書は、どこに置いていてもいい(保存場所は問わない)ので、気軽にマクロを活用できるメリットがあります。

 私はマクロの種類に応じて、上記2つの方法を使い分けているのですが、今回は、個々の文書にマクロ保存して、そのマクロを活用する方法を紹介します。

 大まかな手順は次のとおりです。
1 マクロを作成
2 マクロ格納文書を保存
3 文書上にボタンを配置
4 文書上のボタンにマクロを登録
5 ボタンをクリックでマクロ実行

 この手順を踏めば、文書に保存したマクロを、文書上のボタンクリックで実行できます。
 それでは手順の詳細を、一つ一つ解説していきます。
Let's Go!

1 マクロを作成
  新規文書を開き、Alt+F11でVBエディターを表示させます。VBAコードを記述し、マクロを作成します。
  ここでは、ユーザフォームを挿入し、フォーム上に配置したコマンドボタンをクリックすることで、ある動作をさせるマクロを作ることにします。そのユーザフォームを挿入するに当たっては、Normalの中のThisDocumentではなく、文書1のThisDocumentを選んでおいて、挿入-ユーザフォームと選びます。
 そうすることで、文書1に、マクロが作成されることになります。文書1に格納されたユーザフォーム(UserForm1)となるのです。
 実際に、VBエディターでやってみると分かります(実際にやってみないと、なかなか分かりません。)。

2 マクロ格納文書を保存
  上記1の文書を、「名前を付けて保存」します。このとき、拡張子は「.docm」にします。ファイル名は任意でよく、例えば、「HogeHoge.docm」の名前で保存します。保存場所はどこでもかまいません。

3 文書上に、ボタンを配置
  上記2で保存した文書を開き、マクロを利用するためのボタンを作ります。
  リボンの中の「開発」タブを選びます。「開発」タブがリボン上に出ていない人は、「開発」タブを表示させる作業*をしておきましょう。

*[開発] タブを表示させる手順
1. [ファイル] タブをクリックします。
2. [オプション] をクリックします。
3. [リボンのユーザー設定] をクリックします。
4. [リボンのユーザー設定] の [メインタブ]の下の一覧で [開発] チェック ボックスをオンにし、[OK] をクリックします。

 「開発」タブ内の「コントロール」グループにある[デザインモード]ボタンをクリックし、[デザインモード]にします。
 「コントロール」グループの中に、「以前のバージョンのツール」というアイコンがあるので、そのアイコンの▼をクリックします。出てくるメニュー中の「ActiveXコントロール」の中で、「コマンドボタン(ActiveXコントロール)」のアイコンを探します。その「コマンドボタン」アイコンをクリックします。すると、文書中に、コマンドボタンが配置されます。

4 文書上のボタンに、マクロを登録
  上記3の、文書上に配したコマンドボタンを右クリックし、出てくるメニューの中で「コードの表示」を選びます。すると、VBエディターが開き、
Private Sub CommandButton1_Click() 
End Sub
というコードが、そこに書かれています。この2行の行間に、VBAコードを書きます。
  ここでは、ボタンのクリックで、上記1で作成したUserForm1を表示させるコードを書くことにします。
コードは、
Private Sub CommandButton1_Click() 
  UserForm1.Show
End Sub
です。

5 マクロの実行
  上記4の作業を終えると、文書上のボタンのクリックでユーザフォームが現れるようになります。出てきたユーザフォーム上のコマンドボタンをクリックで、自分が作成したマクロが実行できるようになります。
例えば、ユーザフォーム上のコマンドボタンをクリックで、
Documents.Add Template:="D:¥FAX送信書テンプレ.dotx"
としておくといいでしょう。
 こうすることで、「FAX送信書テンプレ」という名前のテンプレートを土台にして、新たな文書が作成されます。

 マクロを格納した文書(HogeHoge.docm)にはボタンが配置されてるから、その文書に、文章を書き込んでFAX送信書を作成、保存すると、ボタンまで一緒に保存されてしまいます。これでは、ボタンが邪魔になってしまいます。
 そこで、ボタンの存在しない新たな文書を作成するために、上記のように、
  Documents.Add
とするのです。「Documents.Add」は、新規文書作成のコードです。

 上記新規文書には、ユーザフォーム上のテキストボックスのデータが、マクロ実行で自動転記され、自動的に完成文書に仕上がるようにしておきます(*)
   お~っ、楽チンですね。
 (*)この解説は、過去記事(2018年11月11日の記事)をご覧ください。
   ⇒ こちらをクリック
「テンプレートとWordマクロで、致命的ミスを防止。『文書の使い回し』で、痛い目に遭う前に。」

 繰り返しになりますが、Wordマクロを簡単に活用するためのポイントは、文書の上に、マクロを実行するためのボタンを配置することです。
 (1)文書上のボタンをクリックすると、(2)ユーザフォームが起ち上げり、(3)そのフォーム上のボタンをクリックで、(4)新規文書が作成される、これが基本的な流れです。
 これで、マクロを簡単に活用できるようになります。

作って簡単・超便利! Wordのマクロ実践サンプル集 [Word2010/2007/2003/2002対応] (Wordで作ったWordの本)
マクロ実践サンプル集
技術評論社


では、また。

《2019年6月2日追記》
「Wordテンプレートへのマクロ保存」の記事を書きました。
   ⇒ こちらをクリック!
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事