イントロダクション
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 ドキュメント |
このように、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 を連携することで、様々なことを自動で行うことが出来るようになりそうです。
|
コメントを投稿 (ここをクリックしてコメント投稿フォームを表示)
コメント投稿機能について