[目次]この記事のコンテンツ一覧
Excel VBAからWordを起動する方法
Excel VBAからWordを軌道するには、先ず最初に「Wordオブジェクト」を取得します。そして、取得した「Wordオブジェクト」に命令を与えて操作します。
「Wordオブジェクト」の取得は下記のように行います。
Set オブジェクト変数 = CreateObject(“Word.Application”)
こう書くことで、オブジェクト変数の中にWordそのものが格納されます。
Excel VBAからWordを起動するサンプルプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub operateWord() Dim w As Object 'Wordオブジェクトを取得 Set w = CreateObject("Word.Application") 'Wordを見えるようにする w.Visible = True 'Wordで新規文書を作成できる状態にする w.Documents.Add End Sub |
オブジェクト変数「w」にはワードそのものが入っています。wに対して命令を与えることで、Wordを操作することができます。
[スポンサードリンク]
Wordの操作に関する基本的なプロパティやメソッド
プロパティやメソッド | 意味 | 使用例 |
Visible | Wordファイルが見えるかどうか | w.Visible = True ⇒ワードファイルを見えるようにする。 |
Documents.Add | 新規文章の作成。 | w.Document.Add |
Selection.TypeText | Wordの文章に文字列を書き込む。 | w.Selection.TypeText Text:=”Excelから操作中!” |
ActiveDocument.SaveAs | Word文書を保存する。 | w.ActiveDocument.SaveAs _ Filename:=”C:\works\test.docx”[show_message_path]⇒CドライブのWorksフォルダにtest.docxというファイル名でWord文書を保存。 |
Quit | Wordを終了する。 | w.Quit |
Selection.TypeParagraph | Word文書に改行を挿入する。 | w.Selection.TypeText Text:=Cells(1, 1).Value
w.Selection.TypeParagraph w.Selection.TypeText Text:=Cells(1, 2).Value ⇒A1セルの値をWord文書に書き込み、改行して、B1セルの値をWord文書に書き込む。 |
[スポンサードリンク]
WordにExcelのデータを書き込み、Wordを保存して閉じるサンプルプログラム
下記のExcel画面のA列のデータをWord文書に改行しながら書き込みます。書き込みが終わったら、Wordファイルを保存して終了します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
Sub operateWord2() Dim w As Object 'Wordオブジェクトを取得 Set w = CreateObject("Word.Application") 'Wordを見えるようにする w.Visible = True 'Wordで新規文書を作成できる状態にする w.Documents.Add Dim i As Long 'A1:A10のセル範囲の値をワード文書に書き込み For i = 1 To ActiveSheet.UsedRange.Rows.Count w.Selection.TypeText Text:=Cells(i, 1).Value '改行 w.Selection.TypeParagraph Next i 'Word文章をCドライブのWorksフォルダに「sample.docx」というファイル名で保存 w.ActiveDocument.SaveAs Filename:="C:\works\sample.docx" 'Wordの終了 w.Quit End Sub |
保存されたWord文書を開いてみると、下記の画像のようになっています。
確かにA列のデータがWord文書に書き込まれているのが確認できますね。
[スポンサードリンク]