word文書に差し込み保存

Excelに記入した文字をword文書に自動で入力する方法を紹介します。フォルダー、ファイルを選んで、ExcelからWordに文字を入れて保存します。

目次

完成イメージ

代入する文字を入れたExcelを用意する。(ファイル名、保存先は自由)

代入する先のWordを用意する。(ファイル名、保存先は自由)

VBAコード

Sub word文書に差し込み好きな場所へ保存()
'元になるWordのパスを取得する
    Dim FilePath
    MsgBox ("元になるwordファイルを選んでください")
    FilePath = Application.GetOpenFilename 'ファイルを指定するダイアログを表示します
    If FilePath = False Then Exit Sub '設定しない場合は、終了します
    Debug.Print FilePath
    
'保存先のパスを取得する
    Dim saveFilePath
    MsgBox ("保存先フォルダを選んでください")
    Application.FileDialog(msoFileDialogFolderPicker).Show  'ShowメソッドでFileDialogオブジェクトを表示する
    saveFilePath = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1) 'ファイルを指定するダイアログを表示します
    If saveFilePath = False Then Exit Sub '設定しない場合は、終了します
    Debug.Print saveFilePath
    
'最終行を取得。"last"に最終行を代入
    Dim last As Long
    last = Cells(Rows.Count, "B").End(xlUp).Row  'これは最終行を取得するための呪文(B列の最終行)
    Debug.Print last
'Wordを開いて入力
    Dim str As String
    Set myword = CreateObject("word.application") 'mywordという言葉にwordオブジェクトへの参照を付与(wordを制御できるようになる。)
    myword.Visible = True  'wordの画面を表示する。Visibleプロパティ
    Set mydoc = myword.documents.Open(FilePath)  '先に選択したwordファイルを開ける(DocmentsコレクションのOpenメソッド)
    For y = 1 To last  'For~Nextで繰り返す
        str = Cells(y, 1)
        str.Copy  'Excelの文字をコピー
        mydoc.Paragraphs(5).Range.Paste  'wordの5行目にExcelの文字を貼り付ける
        mydoc.SaveAs FileName:=saveFilePath & "\" & str 'wordの名前をつけて保存する
    Next
    mydoc.Close 0
    myword.Quit  'Quitメソッドでwordを終了
End Sub

解説

ポイント

使用者にWordファイルとExcelファイルを選択させる。(FileDialogプロパティ)

Excelファイルの最終行を取得(Endプロパティ)

Wordを開いて、Excel内の文字をWordへ入れる(Create Object関数)

繰り返す。(For~Nextステートメント)

File Dialogプロパティ

ダイアログボックスを表示して、ユーザにフォルダを選択させる方法はいくつかあります。ここではApplicationオブジェクトのFileDialogプロパティを使った方法を紹介します。

Application.FileDialogは、ファイル操作のためのダイアログボックスを表すFileDialogオブジェクトを返すプロパティです。

FileDialogプロパティ → FileDialogオブジェクトを返す

書式:Applicationオブジェクト.FileDialog(ダイアログボックスの種類)

解説:ダイアログボックスの種類で指定したダイアログボックスのFileDialogオブジェクトを消します。ダイアログボックスの種類は、次の定数で指定します。

FileDialogプロパティで指定できる定数

種類 定数
ファイルを選択 msoFileDialogFilePicker 3
フォルダを選択 msoFileDialogFolderPicker 4
ファイルを開く msoFileDialogOpen 1
ファイルを保存 msoFileDialogSaveAs 2

そして、取得したFileDialogオブジェクトのShowメソッドでダイアログボックスを画面表示します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次