エクセルVBAでWordを操作するために必要な設定(参照設定の方法)を紹介します。
また参照設定なしでWordを操作する方法も紹介します。
・参照設定を使えない場合の対処方法も紹介
以下で説明します。
目次
VBAでWord(ワード)を使うための2つの方法
VBAでWordを操作する方法は、以下の2つがあります。
以下の2つのどちらかを採用することで、Wordを操作できるようになります。
方法2. 参照設定を使わない方法
推奨は方法1です。
以下で詳しく設定方法と推奨理由を説明します。
方法1. 参照設定を使う方法
参照設定を変更することで、Word操作の機能を使えるようになります。
参照設定の変更方法
1. VBEを開く
2. 「ツール」→「参照設定」を選択
3. Microsoft Word XX.X Object Libraryのライブラリにチェック
以下で手順を見ていきます。
手順1. VBEを開く
エクセルを開いた状態で、[Alt] + [F11]のショートカットキーでVBE(Visual Basic Editor)を開くことができます。
手順2. VBEの「ツール」→「参照設定」を選択
VBEのツールから参照設定を選択します。
手順3. Microsoft Word XX.X Object Libraryのライブラリにチェック
Microsoft Word XX.X Object Libraryにチェックを入れます。
これで設定完了です。
この設定変更を行うと、以下のプログラムでWordを起動できるようになります。
1 2 3 4 5 |
Sub GetWordApplication() '参照設定あり Dim wdapp As Word.Application Set wdapp = New Word.Application End Sub |
方法1の参照設定は以上です。
設定の補足
設定をする上で、補足があります。
補足1. Microsoft Word 15.0 Object Libraryがない場合
上記の画像では、Microsoft Word 15.0 Object Libraryにチェックを入れています。
しかし使用しているバージョンによっては、15.0ではないときがあります。
ただし15.0がない場合は、数字が異なる類似の「Microsoft Word XX.X Object Library」があるので、それにチェックを入れます。
補足2. VBAの使用前の準備
エクセルVBAを使用するにあたって、以下の2つの準備をしておくと後で困ることが減ります。
2. 開発タブを追加
保存ファイルの拡張子変更、Excelの基本設定変更の2つです。
2つともで難しい作業はなく、それぞれ1分もあれば設定変更可能です。
上記に関しては、以下のページで解説をしています。
もしVBAを使うための準備段階に不安がある人は上記をご覧ください。
この内容は以下の動画で紹介しています。
入門エクセルマクロの使い方|マクロ作成から実行までを徹底解説
文字や画像だけで分かりづらい人は上記の動画をご覧ください。
方法2. 参照設定を使わない方法
Microsoft Scripting Runtimeの参照設定なしの(使えない)場合は、以下のようにプログラムを書くとOutlookを操作できます。
1 2 3 4 5 6 |
Sub GetWordApplication() '参照設定なし Dim wdapp As Object Set wdapp = CreateObject("Word.Application") End Sub |
上記の参照設定なしでのプログラムでも可能です。
このようにObjectとCreateObject関数を使って参照設定なしでも、Wordを使うことは可能です。
方法1を推奨する理由
方法1の参照設定ありを使用することを推奨します。
なぜならWordの参照設定にチェックを入れると、VBEでプログラムを作成しているときに、補完(ヒント)が出現します。
画像のように、たとえば「wdapp.」と入力したら、そこから選択できるメソッドなどを表示してくれます。
これにより、コーディングミスを減らすことができます。
たしかに参照設定を使わなくてもコーディングはできますが、参照設定を使うほうが便利です。
VBAでWord操作するときに「ユーザー定義型は定義されていません」とエラーが出たときの対処法
「ユーザー定義型は定義されていません」とエラーが出る理由は、参照設定なしで「Word.Application」を使おうとしたときに出現します。
エラーの対処法
「参照設定」を変更することで、対応ができるようになるはずです。
上述の方法1のとおり、参照設定を実施します。
方法2のCreateObject関数を使う方法もありますが、プログラム記述の補完を考えたとき、方法1の参照設定を変更するほうが便利です。
エクセルVBAでWord操作するプログラムの事例
エクセルVBAでWord操作するプログラムの参考事例を以下で紹介しています。