エクセルVBAでWordを操作して文書を操作する準備と最も簡単なプログラム

word

photo credit: Dr John2005 Road via photopin (license)

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

当ブログでは、初心者向けのWord VBAに関してのテクニックもお伝えしています。

以下のページにドドンとまとまっています。

【保存版】実務でWord VBAを使いこなすための初心者向け完全マニュアル
Microsoftの超定番文書作成ソフトであるWord。実はVBAでマクロを作ることができます。このページは「これを見れば初心者でもWord VBAを実務で使えるようになる」ためのまとめページです。

ですが、エクセルからWord文書を操作したいときってありますよね。

例えば、フォルダ内のWord文書全てについて、そのページ数や文字数などを調べて、エクセルシートに書き出したいというようなニーズです。

ボタン一つでできたら便利です。

ということで、本シリーズではエクセルVBAでWord文書を操作する方法について、最初の一歩からお伝えしていきます。

まず今回は、初回ですのでエクセルVBAでWord文書を操作するために必要な準備と、最も簡単なプログラムについてお伝えします。

では、行ってみましょう!

スポンサーリンク

Wordを操作するためのライブラリを追加する

まず、事前準備として、エクセルVBAからWordを操作するためには、「Microsoft Word XX.X Object Library 」という名前のライブラリの追加が必要です。

では、その方法をお伝えしていきます。

まず、VBEのメニューから「ツール」→「参照設定」とたどります。

VBEの参照設定を開く

続いて「参照設定」ウィンドウが開きますので、リストの中から「Microsoft Word Xx.X Object Library 」というライブラリを探しましょう。

見つけたらチェックをして、OKです。

VBEでWordオブジェクトライブラリを追加する

これで、ライブラリの追加は完了です。

ちなみに、ライブラリの追加はブックごとに行う必要がありますので、別ブックでWordを操作する場合は、これと同様の作業をする必要があります。

既にライブラリを追加したブックをコピーすれば、ライブラリの追加は不要ですのでおすすめです。

Wordアプリケーションを開く最も簡単なプログラム

では、Wordアプリケーションを開く最も簡単なプログラムを作っていきましょう。

こちらです。

Sub Wordを立ち上げる()

Dim wdApp As Word.Application
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True

MsgBox "Wordが立ち上がりました"

wdApp.Visible = False
Set wdApp = Nothing

End Sub

このプログラムを実行すると…

エクセルVBAでWordアプリケーションを開いた

このように何にも文書は開いていませんが、Wordアプリケーションが起動します。

では、上記プログラムを解説していきましょう。

Wordアプリケーションオブジェクトの生成とセット

まず、3行目と4行目は、Wordアプリケーションオブジェクトを生成して変数にセットする命令です。

Dim 変数名 As Word.Application
Set 変数名= CreateObject(“Word.Application”)

Wordアプリケーションのオブジェクト型はWord.Applicationです。

これで、指定した変数名(例ではwdApp)で、Wordアプリケーションを操作できるようになります。

Wordアプリケーションを表示

続いて、Wordアプリケーションを表示します。

というのも、オブジェクトを生成しただけでは、画面には何にも表示されないのです。

そのために、WordアプリケーションオブジェクトのVisibleプロパティを操作します。

Wordアプリケーションオブジェクト.Visible = True/False

Trueにすると表示し、Falseにすると非表示にします。

例では5行目で表示、9行目で非表示としていますね。

Wordアプリケーションオブジェクトの破棄

何らかの処理を終えて、Wordアプリケーションオブジェクトが用無しになった暁には、オブジェクトの破棄をします。

破棄をしないと、Wordアプリケーションオブジェクトに使っていたメモリが解放されません。

Set Wordアプリケーションオブジェクト = Nothing

今回の例では10行目のところです。

まとめ

以上、エクセルVBAでWordアプリケーションを操作する最も簡単なプログラムを作成しました。

まあ、生成して、開いて、閉じて、破棄しただけで、本質的なことは何にもしていませんけどね。

ご安心下さい。

次回以降、ちゃんとWord文書を開いていこうと思います。

エクセルVBAでWord文書を開いてページ数や文字数などのいろんな情報を取得する
エクセルVBAでWord文書を操作する方法についてシリーズでお伝えしております。今回は、起動したWordアプリケーション上にWord文書を開いて、ページ数や文字数などのいろいろな情報を取得します。

どうぞお楽しみに!

連載目次:エクセルVBAでWord文書を操作する方法

Word文書についての情報を集めてリストを作りたい、そんなときはエクセルVBAでWord文書を開いたり、情報を取得したりしたいものです。シリーズでは初心者でもできる、エクセルVBAからのWord文書の操作の仕方をお伝えします。
  1. エクセルVBAでWordを操作して文書を操作する準備と最も簡単なプログラム
  2. エクセルVBAでWord文書を開いてページ数や文字数などのいろんな情報を取得する
  3. エクセルVBAでフォルダ内のWord文書のページ数・文字数などをリスト化する
タイトルとURLをコピーしました