Word で Auto-Exec マクロと Auto-Open マクロを使用すると、Word で新しい文書を開いたり、既存の文書を開いたりするときに、既定のパス、スタイル、リンク、環境条件などを設定できます。 この記事では、これらのマクロのしくみと、さまざまな状況での動作について説明します。
Auto-Exec
Auto-Exec マクロは、Auto-Exec マクロが既定の (Normal.dot) テンプレートの一部として保存されている場合、またはグローバル アドインの一部として保存されている場合に、Word の起動時に実行されます。 Auto-Exec マクロを使用すると、Word の起動時、文書の作成または読み込み前に調整を行うことができます。 たとえば、Auto-Exec マクロを使用して、Word の起動時に既定のディレクトリを変更できます。
Auto-Exec マクロは、いくつかの方法で抑制できます。 1 つの方法は、/m または /embedding スイッチを使用して、コマンド ラインから Word を起動することです。 これらのスイッチを使用するには、 Start を選択し、 Run を選択し、「 winword /m
」または「 winword /embedding
」と入力してから、 OK を選択します。
Auto-Exec マクロを抑制するもう 1 つの方法は、Word の起動中に Shift キーを押す方法です。 Auto-Exec マクロは、Automation クライアントから Word を起動したときにも抑制されます。
自動開く
自動開くマクロは、新しいドキュメントを開いた後に実行されます。 自動開きは、次の方法でドキュメントを開いたときに実行されます。
- File メニューの [開く] コマンドを使用します。
FileOpen
またはFileFind
コマンドを使用します。- File メニューの [最近使用したドキュメント (MRU)] ボックスの一覧からドキュメントを選択します。
ドキュメントを開くと、オートオープン マクロがそのドキュメントの一部として保存されている場合、またはマクロがドキュメントの基になるテンプレートの一部として保存されている場合に、自動開くマクロが実行されます。 自動開くマクロは、グローバル アドインの一部として保存しても実行されません。
文書を開くときに Shift キーを押すと、オートオープン マクロが実行されないようにすることができます。
Auto-Exec マクロとオートオープン マクロを作成する
Word 2002 または Word 2003
Word で新しい空白の文書を作成します。
Tools メニューで、Macroをポイントし、Security を選択します。
[セキュリティ] ダイアログ ボックスで、[セキュリティ レベル選択しを選択。 Trusted Sourcesを選択しインストールされているすべてのアドインとテンプレートを信頼を選択し、OKを選択します。
次の手順に従って、Auto-Exec マクロを作成します。
Toolsメニューで、マクロをポイントし新しいマクロの記録を選択します。
[ レコード マクロ ] ダイアログ ボックスで、[マクロ名] に「 AutoExec 」と入力し、 OK を選択します。 既定では、マクロは標準テンプレートに保存されます。 Word 文書または Word デスクトップの他の場所に、小さな 2 ボタンのコマンド バーが表示されます。 コマンド バーを見つけて、四角形 ([記録の停止] ボタン) を選択して記録を停止します。
Toolsメニューのマクロをポイントし、マクロを選択します。 マクロの一覧で AutoExec を選択し、 Edit を選択します。
AutoExec マクロに次のコードを追加します。
MsgBox "You're seeing the AutoExec macro in action", vbMsgBoxSetForeground
Microsoft Visual Basic エディターの File メニューの [通常 保存] を選択し Visual Basic エディターを閉じます。
Auto-Exec マクロで使用したのと同じ手順に従って、オートオープン マクロを作成します。 今回は、Auto-Open 式を使用して、各ステップの Auto-Exec 式を置き換えます。
文書を C:\Yourfile.doc として保存し、文書を閉じてから Word を終了します。
次の表に示すさまざまな方法を使用して、Word で文書を開きます。 マクロが実行されるタイミングとマクロが実行されないタイミングを確認します。
Word 2007
Word で新しい空白の文書を作成します。
Microsoft Office ボタンを選択し、Word オプションを選択します。
Trust Centerを選択し、Trust Center の設定を選択し、信頼された場所選択。
目的の信頼できる場所を追加し、 OK 2 回選択します。
次の手順に従って、Auto-Exec マクロを作成します。
[Developer] タブを選択し、[Code グループで Record Macro を選択します。
[レコード マクロ] ダイアログ ボックスで、[マクロ名 の下に「Auto-Exec」と入力し、OKを選択します。 既定では、マクロは標準テンプレートに保存されます。 Code グループで[記録の停止]を選択します。
[Developer] タブの [Code グループで Macros を選択します。 マクロの一覧で AutoExec を選択し、 Edit を選択します。
Auto-Exec マクロに次のコードを追加します。
MsgBox "You're seeing the AutoExec macro in action", vbMsgBoxSetForeground
Microsoft Visual Basic エディターで、File メニューの [標準保存] を選択し、Visual Basic エディターを閉じます。
Auto-Exec マクロで使用したのと同じ手順に従って、オートオープン マクロを作成します。 今回は、Auto-Open 式を使用して、各ステップの Auto-Exec 式を置き換えます。
文書を C:\Yourfile.doc として保存し、文書を閉じてから Word を終了します。
「 Macro Behaviors in Different Situations 」セクションの表に記載されているさまざまな方法を使用して、Word で文書を開きます。 マクロがいつ実行され、マクロが実行されないのかに注意してください。
さまざまな状況でのマクロの動作
次の表は、Word が起動されたとき、または文書がさまざまな方法で開かれた場合の、これら 2 つのマクロの動作をまとめたものです。
アクション | Auto-Exec | 自動開く |
---|---|---|
コマンド プロンプトで「実行を実行しない」と入力して空白の文書で Word を起動する: Winword.exe | 実行 | 実行されない |
コマンド プロンプトで次のように入力して、保存した文書で Word を起動します: Winword.exe C:<Yourfile>.doc |
実行 | 実行 |
コマンド プロンプトで次のように入力して、OLE コンテナーに Word 文書を埋め込みます: WinWord.exe /embedding C:<Yourfile>.doc |
実行されない | 実行 |
コードを使用して Word を自動化し、次のコードを使用して C:<Yourfile>.doc を実行しません:Set oWord = CreateObject("Word.Application") oWord.Visible = True oWord.Documents. Open "C:\YourFile.doc" |
実行されない | 実行 |
Internet Explorer または WebBrowser コントロールでドキュメントを参照する | 実行しない | 実行 |