日々のコンピュータ情報の集積と整理

Dr.ウーパのコンピュータ備忘録

2015年4月1日水曜日

VBA:ExcelからWordの文書を操作する - ステップ1:空の文書を作成し、文章を書きこむ

イントロダクション

Excel の VBA から、Word の文書を操作したいときってありますよね。

例えば、Excel のセルに入力されたデータを使って、Word で文章を組み立てたりするときなどです。


そんな時は、設定次第で簡単に Word を Excel の VBA から操作することができます。

VBA:ExcelからWordの文書を操作する - ステップ1:空の文書を作成し、文章を書きこむ


事前準備

Excel の VBA から、Word のオブジェクトを利用できるようにします。

Excel の Visial Basic Editor の「ツール」メニューの「参照設定」をクリックします。
表示された「参照設定 - Project」ダイアログの中から「Microsoft Word xx.x Object Library」にチェックを入れて、「OK」ボタンをクリックします。


xx.x には、バージョン番号が入ります。(例:14.0 など)

「Microsoft Word xx.x Object Library」が一つしかない場合には、それにチェックを入れます。

「Microsoft Word xx.x Object Library」が二つ以上ある場合には、既に、Microsoft Excel xx.x Object Library にチェックが入っているはずですから、それと同じバージョン番号の「Microsoft Word xx.x Object Library」にチェックを入れればよいでしょう。


以上で、Excel の VBA から、Word のオブジェクトを利用出来るようになりました。


Excel の VBA コード

以下の VBA コードを、Excel の Visual Basic Editor にて、標準モジュールとして記載しました。

Sub WriteToWordDocument()
    
    Dim wordApp As New word.Application         ' Word 起動
    Dim doc As Document                         ' ドキュメント記録用
    Set doc = wordApp.Documents.Add
    
    ' Word のドキュメントへテキストを書き出し
    wordApp.Selection.Text = "Hello World!"
    
    
    ' Word を表示する
    wordApp.Visible = True
    
End Sub


実行結果

上記のプログラムを実行すると、「Hello World!」と入力された新しい Word ドキュメントが画面上に表示されます。

Excel の VBA によって文字列を出力した Word ドキュメント
Excel の VBA によって文字列を出力した Word ドキュメント

このように、Word に対して Excel の VBA から、様々な操作を行うことができます。


解説

プログラムの各行を詳細に解説します。

    Dim wordApp As New word.Application         ' Word 起動
word という変数に対して、word の Application オブジェクトを新規生成したものを代入しています。


    Dim doc As Document                         ' ドキュメント記録用
    Set doc = wordApp.Documents.Add
Document オブジェクトを保存するための doc という変数を用意し、先ほど作成した word の Application オブジェクトの wordApp.Documents.Add メソッドにて、新しい文書を作成しています。


    ' Word のドキュメントへテキストを書き出し
    wordApp.Selection.Text = "Hello World!"
wordApp の Selection.Text プロパティに文字列を代入することで、値を Word ドキュメントに書き出しています。
 
    ' Word を表示する
    wordApp.Visible = True
Word のアプリケーションは、デフォルトで非表示になっているので、wordApp.Visible を True に設定することで、画面上に表示させています。


まとめ

以上のように、設定とVBAコードを記載することで、Excel のデータを使って、Word の文章を作成することが出来るようになりました。

Word と Excel を連携することで、様々なことを自動で行うことが出来るようになりそうです。









関連記事

関連記事を読み込み中...

同じラベルの記事を読み込み中...