お仕事Tipsトップ >> Word:マクロの使い方と登録方法
Excelのマクロは業務効率化には不可欠の存在ですが、Wordとパワーポイントのマクロはほとんど使われていないようです。Word / パワポのマクロも、Excelと同じVBA (Visual Basic for Applications)というプログラミング言語で記述します。このため、ExcelでVBAをいじったことがある人なら、少し勉強すれば、Wordやパワポでも処理の自動化が楽しむことができます。
ここではExcelのマクロをご存じの方のために、Wordマクロの基本について説明してみます。
下のサンプルコードは、WebページをコピーしてWordに貼り付けたとき、不要なリンクや文字の書式を一括解除するマクロです。何ページもの文書を手作業で解除するのは大変ですが、この数行のコードでどんな大きな文書でも一発で処理することができます。
▼ 全てのリンクを解除し、標準書式に戻すマクロ(文頭に ' のある行は説明文) |
||
Option Explicit '必ず書くおまじない
' Sub ×××( ) 〜 End Sub の間が一つのマクロ(サブルーチン)です。 Sub リンク解除() Dim aField As Field '文書内のハイパーリンクを解除 For Each aField In ActiveDocument.Fields aField.Unlink Next '文書全体の書式をクリア(標準書式に戻す) Selection.WholeStory Selection.ClearFormatting End Sub |
||
![]() |
一発で |
![]() |
自分でWordのマクロをプログラミングしてみたい方は、下記の入門書やサイトを参考にしてください。
残念ながら、Wordマクロの入門書は、国内でも海外でもほとんど出ていません。VBAが初めての人は、遠回りでも情報が多いExcelでマクロに慣れてからWordに挑戦するほうがいいかもしれません。(私もそうでした(^_^;)
【入門書】
土屋 和人/技術評論社 Amazonで詳細確認 |
西上原 裕明/技術評論社
Amazonで詳細確認 |
【解説サイト】
まずは、登録済みのマクロの動かし方です。
最初に、ショートカットキーでの起動を覚えましょう。簡単なうえ、WordでもExcelでも、また、どのバージョンでも同じ操作が使えるからです。
マクロを登録する場所は、共有マクロにする場合と、個別文書マクロにする場合の2通りがあります。
共用マクロとして登録すると、パソコンの全文書でそのマクロが使えるようになり便利です。ただし、影響がお使いのパソコンのWord全体に及びます。このため、登録するマクロコードに不安がある場合は、安全確認のため個別文書に登録してワクチンソフトでチェックや動作テストを行ってから、共用マクロとして登録することをお勧めします。
共用マクロの登録で、簡単なのは「(1) Normal.dotに登録する方法」です。慣れてきてフル活用したいときは「(2) テンプレートのアドイン化」も試してみてください。
(1) Normal.dotに共用マクロを登録する方法
Normal.dotとは、Wordが全文書で共用する情報を保管している特別なファイルです。ここにマクロを登録することで、そのパソコンのWordではどの文書でもそのマクロを使うことができるようになります。(Normal.dotについて詳しくはこちら)
(2) 少し上級のマクロ共用化 ― テンプレートのアドイン化
Normal.dotへのマクロ登録は手軽ですが、セキュリティや壊れやすいという問題があります。業務などでマクロを頻繁に使う場合は、マクロ専用テンプレートファイルを作り、アドイン化する方法がお勧めです。多数のマクロを自前のテンプレートで管理することが可能です。 (テンプレートとアドインとは何かについてはこちらを参照)
○手順
○個別文書に登録し、ウイルスと作動チェックを行う方法
そのマクロコードに不安がある場合は、まず個別文書ファイルに登録してワクチンソフトでチェックと、動作確認を行ってから共用マクロとして登録することをお勧めします。
エラーが出て動かない。そんなときは、以下の点を確認してみてください。
メニューやツールバーに起動ボタンを登録することができます。右図は、Word 2010で、クイックアクセスツールバーに(・_・)マークでマクロを登録した例です。
登録の方法や場所は、Wordのバージョンによって異なりますので、分けて説明します。
以下の作業を行うときは、前もって上記のマクロコードの登録方法(全文書の共用マクロ)の手順で、マクロ本体を共用マクロとして登録しておいてください。
個別文書添付のマクロをボタン化した場合は、他の文書からボタンは見えますがマクロは動きません。
![]() ![]() |
Excelのマクロに慣れた人は、Wordのマクロの保存には意外ににとまどいます。
Excelでは、 2003の「*.xls」形式も 2007以降の「*.xlsm」形式も、マクロはファイルと一体として保存するのが標準設定で、保存先はあまり意識されません。
一方、Wordマクロは、パソコン単位で共用マクロとして保存するのが標準設定です。
Visual Basic Editorを開いてみてください。下図のように「プロジェクト」の上部に必ず「Normal」があります。この本体は「Normal.dot」という独立したファイルで、文書ファイルとは別に、Wordがパソコン単位で1個だけ作る共用ファイル(標準テンプレート)です。Normal.dotは、マクロのほか標準書式など共通で使う情報を保持しています。
ここにマクロを保存すれば、新規文書でもすぐにマクロを使うことができます。
しかし、ウイルスやバグ入りのマクロが登録されてしまうと、パソコン全体に影響が及んでしまいます。また、ユーザーが誤って自らNormal.dotにウイルス入りコードを書き込んだ場合、ワクチンソフトではチェックできません。
そのため、ネットから拾ってきたマクロのコードは、まず個別ファイルの標準モジュールに保存してチェックすることをお勧めします(上図では「マイ漢数字変換」)。マクロウイルスは「ファイルをWordで開いたとき」に活動を開始するので、個別文書に保存し、ファイルを開く前にワクチンソフトでチェックすることで危険が回避できるわけです。
個別文書にマクロを登録すれば、メールに添付して送付することもできます。なお、Word2007以降は、マクロ添付の有無を明確化するため、個別文書にマクロを添付する場合「Wordマクロ有効文書」(*.docm)として保存する仕様になりました。
■テンプレートとアドインについて
「テンプレート」とは、Wordで文書作成のひな形となるファイルです。マクロはもちろん、定型句、スタイル、ツールバー、リボンのカスタマイズなど、様々なものを登録できます。
テンプレートを文書に添付すると、設定してあるマクロやスタイルがその文書に対して適用され、使えるようになります。
テンプレートは、通常は右図のように個別文書に添付します。
右図で分かるように、実は、Normal.dotは、システムが自動的に用意してくれる特別なテンプレートなのです。
さて、自作したテンプレートは、個別文書に添付するだけでなく、パソコン全体で常に共用することが可能です。この共用化したテンプレートのことを「アドイン」といいます。
アドインは、複数のマクロを安全に管理したい場合に便利です。また、アドインは単なるファイルなのでバックアップを取ったり、他の人に送ってあげることも可能です。
右の図でも分かるように、Normal.dotはシステムが標準で用意してくれている特別なアドインなのです。ただし、Normal.dotは普通のアドインと違ってセキュリティ上コピーすることはできません。
■テンプレートの作り方
テンプレートの作り方は超簡単です。空白文書に書式設定やマクロを登録をした後、保存するときに「テンプレート形式」で保存するだけです。拡張子は2003以前が「 *.dot」、2007以降はマクロ付が「 *.dotmx」、それ以外が「 *.dotx」 となっています。
テンプレートをアドイン化するには一手間必要です。
→アドイン化する方法はこちら。
▼Word 2003のセキュリティ画面
▼Word 2010のセキュリティセンターの画面
上記にも書きましたが、Excel、Wordのマクロ機能を悪用した「マクロウィルス」には十分注意が必要です。ネットからダウンロードしたWord文書は、開く前に必ずワクチンソフト等でチェックしましょう。
一方、本稿のようにコードをコピーする場合も、以下の手順で必ず確認します。
組織のセキュリティポリシーによっては、外部から入手したマクロの使用について、あらかじめ情報管理課の承認が必要だったり、禁止されていることもありますので、確認しておきましょう。
参考
●●●