マイクロソフトオフィスのワードで、作業の自動化をしようとするとき、キー操作の保存をしますね。
ワードでマクロの記録をするときのマクロの保存先
初期設定の保存先はNormal.dotm(共用マクロ)
その時、デフォルト(=初期設定)では保存先は、Normal.dotmになっています。
ワードでは、マクロの保存先は、共用マクロとして Normal.dotm に保存することになっているのです。
Normal.dotmに保存しておけば、すべてのワード文書に対してマクロを実行することができます。
個別ワードファイルに記録することもできる(保存はできない)
逆に、個別ファイル、たとえば、「マクロ保存テスト用.docx」というワードファイルを作ってそのファイルにマクロを記録することもできます。
キー操作からマクロの記録をする下図のウィンドウで、マクロの保存先に、個別文書ファイルを選択すればOKです。
個別ファイルに保存したマクロはそのファイルからしか実行できない
下図は、VBE(Visual Basic Editor)で保存されたマクロを確認していますが、
保存されたマクロは、「マクロ保存テスト用.docx」に保存されていることが分かります。
この場合、マクロは、「マクロ保存テスト用.docx」の文書からしか実行することができません。これはワードマクロのルールになっています。
エクセルではそんなことなくどのファイルに保存されたマクロも実行できるので、ワードのルールは特殊なルールだと思うんですが、でも、昔からそうなってます。
別のファイルから「マクロ」ウィンドウを表示させると、「マクロ保存テスト用.docx」に保存したMacro1 が選択できません。
保存するならファイルの拡張子をdocm にする必要があります
また、docx ファイルのままで、マクロを記録したファイルを保存しようとすると、以下のように、ファイルの種類を変えてるかマクロなしで保存するかを選ばせるウィンドウが表示されます。
docx というのは、マクロなしワードファイルということです。
それに対し、マクロ付きのWordファイルは、docm となります。
下記のように、ファイルの種類をdocmに変更して保存すれば、マクロも一緒に保存することができます。
別ファイルのマクロを実行する手段はありますので、別途解説していきます
このようなマクロの保存先制限の理由は、インターネットでダウンロードしたファイルに悪意を持ったウィルスマクロが保存されていた場合、下記の2つの理由で安全なんですよね。
- docmというファイル名でマクロがついていることが分かること
- たまたま悪意のあるウィルス付きファイルを開いていただけで、違うファイルのマクロを実行しようとしたときに、間違ってウィルスを実行しないため
とはいっても、マクロをいろんなパソコンで利用したいってことはありますよね。
だから、もちろん、Normal.dotm に保存してないマクロでも、共用マクロとして使う方法もあります。またマクロを別ファイルに適用する方法もあります。
この方法については別記事で紹介したいと思います。
まとめ
ワードのマクロはエクセルのマクロと違い、個別ファイルに保存されていたら基本的には別ファイルの文書に対して実行することができません。
そのため、標準では Normal.dotm ファイルにマクロを保存する仕組みになってます。
ワードのファイルは標準の拡張子 docxはマクロを保存することができず、マクロ付きのワードファイルはdocm に保存するようにします。
エクセルのマクロになれてる人で、初めてワードのマクロを使う場合、ここの違いに戸惑うこともありますので、注意しておきましょう。
コメント