Office関連

Wordの自動実行マクロ

たまたま使用する機会があったのでメモ書き程度に情報を残しておきます。

Wordの開発者用リファレンス > 概念 > 自動実行マクロ でも紹介されているように、Wordには下記5つの自動実行マクロが用意されています。

マクロ名 マクロが実行されるとき
AutoExec Word を起動するとき、または全文書対象のテンプレートを読み込むとき
AutoNew 文書を新しく作成するとき
AutoOpen 既存の文書を開くとき
AutoClose 作業中の文書を閉じるとき
AutoExit Word を終了するとき、または全文書対象のテンプレートの読み込みを解除するとき

※ 自動実行マクロより

「イベントを使用して Microsoft Word を制御する」によると上記マクロの一部はDocumentオブジェクトのイベントに置き換えられたレガシー機能になるわけですが、Auto Macros(Word 2013 developer reference)にも記載されているように、最新版のWord 2013でもサポートされています。

文書を開いたとき、あるいは閉じたとき等、任意のタイミングでマクロを実行したい場合は上記マクロがあることを覚えておくと良いですね。
そしてもう一つ覚えておきたいのが自動実行マクロの抑制方法で、自動実行マクロにも書いてある通りですが、

・マクロが実行されるタイミングでShiftキーを押す。
・マクロが実行される前にWordBasicオブジェクトの「DisableAutoMacros」ステートメントを実行する。

※ 例えばAutoCloseマクロが設定された文書を閉じる際に下記のようなコードを実行するとAutoCloseマクロが実行されなくなります。

Public Sub Sample()
  Application.WordBasic.DisableAutoMacros 1 '「1」は省略可
  ActiveDocument.Close
End Sub

※ 再度マクロを実行できるようにしたい場合は「WordBasic.DisableAutoMacros 0」を実行するか、Wordを再起動する必要があります。

といった方法で自動実行マクロが実行されないようになります。
「DisableAutoMacros」のようなレガシー機能が今でも活用できるのはなかなか面白いですね。

[Office 2013]ファイルパスワードのエスクローキー機能前のページ

[Office用アプリ]野良アプリのススメ次のページ

関連記事

  1. Excel

    [Office]アイコンの検索機能が超便利!

    ※ 下記情報はInsider版のOfficeを元にしています。バージョ…

  2. Office アドイン

    Office Scripts機能によってWeb版Officeの操作を自動化する

    前回、Ignite 2019で発表されたPower Automate(…

  3. Office関連

    Office 2019のインストール方法

    下記ニュースサイトにある通り、永続ライセンス版のOffice 2019…

  4. Office関連

    Unicodeブロックを元に指定した文字が平仮名なのかカタカナなのか漢字なのかを判別するVBAマクロ…

    以前書いた「ルビ(ふりがな)を一括設定するWordマクロ」記事で使った…

  5. Office関連

    文書が互換モードかどうかを判定するWordマクロ

    古いバージョンのWordで作成された文書を開くと、タイトル バーに「互…

  6. アイコン一覧

    Office 2013 アイコン一覧(I)

    ・Office 2013 アイコン一覧 NUM…

コメント

  1. この記事へのコメントはありません。

  1. 2013年 8月 11日

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP