【VBA】指定ページに別のワードファイルを挿入する

エクセルVBAでよく使うコードの備忘録。VBAでワードファイルを操作し、指定ページに別のワードファイルを挿入するコード。

スポンサーリンク

事前準備

VBAでワードファイルを操作するには、参照設定が必要です。VBAのコードエディタから「ツール > 参照設定」と進み、「Microsoft Word XX.X Object Library」にチェックを入れておきます。

ワードファイルを挿入する

カーソルをページ冒頭に移動してから、選択箇所にワードファイルを挿入する「InsertFile」メソッドを使って実現しています。

サンプルコード

Public Sub InsertWordFile()

    '--- Wordのアプリケーションオブジェクト ---'
    Dim objWord As Word.Application
    Set objWord = CreateObject("Word.Application")
    objWord.Visible = True
    
    '--- ドキュメントオブジェクト(挿入先) ---'
    Dim objDoc As Word.Document
    Set objDoc = objWord.Documents.Open("[挿入先ワードファイルのパス]")
    
    '--- 挿入するファイルのパス ---'
    Dim strInsertFilePath As String
    strInsertFilePath = "[挿入するワードファイルのパス]"
    
    '--- 挿入先ページ番号 ---'
    Dim pageNo As Long
    pageNo = [ページ番号]
    
    '--- 指定ページ冒頭にカーソルを移動 ---'
    Call objWord.Selection.Goto(What:=wdGoToPage, Which:=wdGoToFirst, Count:=pageNo)
    
    '--- カーソル位置にファイルを挿入する ---'
    Call objWord.Selection.InsertFile(Filename:=strInsertFilePath, Link:=False)
    
End Sub