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. Office関連

    [Office 2013]コントロール日英比較表

    日本語版と英語版のOffice 2013でコントロール(コマンド)名や…

  2. アイコン一覧

    Office 2013 アイコン一覧(I)

    ・Office 2013 アイコン一覧 NUM…

  3. Office関連

    未読メッセージ数を取得するOutlookマクロ

    Outlook 2007で追加されたFolderオブジェクトのUnRe…

  4. Office関連

    ExcelとPowerPointに自動保存機能が追加されました。

    Excel 2016を使っていて、ふと気が付いたのが画面左上にある「自…

  5. Office関連

    【2018年7月版】ソースコードを番号行付きのテーブルに変換するWordマクロ

    6年以上前、Wordに貼り付けたソースコードを番号付きのテーブルに変換…

  6. Office関連

    Office 2007のサポートが2017年10月10日に終了します。

    2007年1月にパッケージ版が発売されてから早10年、長らく活躍してき…

コメント

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

  1. 2013年 8月 11日

Time limit is exhausted. Please reload CAPTCHA.

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

Translate

最近の記事

アーカイブ

PAGE TOP