【EXCEL:VBA】差込PDFを作成したい

EXCEL差込PDFを作成しよう

この記事では、EXCELで差込PDFを作成する方法について説明します。

 

 

差込PDFとは、年賀状の宛名書きをイメージしてもらえるとわかりやすいです。

 

決まったレイアウト(はがき)に送りたい人それぞれの郵便番号、住所、氏名を書き込みます。

 

 

そして、紙に印刷するのではなく、1枚ずつをPDFファイルとして保存可能です。

 

PDFの便利なところは、印刷物とは違い、メールで相手に送ることができます。

 

 

また、PDFファイルなので、受け取った相手が変更することはできません。

 

この差込PDFを作成するには、以下の3つを用意する必要があります。

  1. 差込PDFする人の情報一覧
  2. 決まったレイアウト
  3. VBA(差込PDFを作成する機能を作成する必要があります。)

 

それでは、EXCELで差込PDFを作成していきましょう。

 

困っている女性

決まった単票レイアウトで全従業員の情報でPDFを作成したいわ・・・。
こないだ説明したEXCEL差込印刷を少し改造すれば、差込PDF作成できるよ

解決する男性

困っている女性

それそれ、早く教えてよ。

 

 

◆ほかの差込PDFの記事は、以下から参照してください。

【EXCEL:VBA】差込PDFを作成したい(選択した行のみ)

【EXCEL:VBA】差込PDFを作成したい(VBAを変更せずに差込位置を変えたい)

【EXCEL:VBA】差込PDFを作成したい(VBAを変更せずに差込レイアウトを変えたい)

 

◆EXCEL差込印刷の記事は、以下から参照してください。

【EXCEL:VBA】差込印刷をしたい

【EXCEL:VBA】差込印刷したい(選択した行のみ)

【EXCEL:VBA】差込印刷したい(VBAを変更せずに差込位置を変えたい)

 

差込PDFに必要なものを、1つ1つ順番に説明していきます。

1.差込PDFする人の情報一覧を準備する

今回はサンプルとして、「従業員番号」、「氏名」、「生年月日」の3つのデータを利用して差込PDFを作成する方法を説明します。

「差込データ一覧」というシートを作成する

差込データ一覧シートを用意する

差込データ一覧シートを用意する

  1. 「差込データ一覧」という名前のシートを作成します。
  2. 1行目と4行目に「従業員番号」、「氏名」、「生年月日」のタイトル行を作成する
  3. 2行目は差込PDFで利用する行となります。上記の画面では値を説明のために入力していますが、空でOKです。
  4. 5行目から好きなだけ、従業員情報を入力します。

2.決まったレイアウトを準備する

今回はサンプルとして、「従業員番号」、「氏名」、「生年月日」を差し込むレイアウトを作成しました。

差込PDFするレイアウトを作成する

差込PDFレイアウトを作成する

差込PDFレイアウトを作成する

  1. 「ひな形」という名前のシートを作成します。
  2. 5行目にタイトル行を作成します。今回のサンプルでは、「従業員番号」、「氏名」、「生年月日」になります。
  3. 6行目には、差込する値を表示する欄を用意します。

 

参照するセルを指定する

差込する従業員番号のセルを指定する

差込する従業員番号のセルを指定する

セルB6に「差込データ一覧」シートのセルA2を指定します。

 

差込する「氏名」のセルを指定する

差込する「氏名」のセルを指定する

セルC6に「差込データ一覧」シートのセルB2を指定します。

 

差込する「生年月日」のセルを指定する

差込する「生年月日」のセルを指定する

セルD6に「差込データ一覧」シートのセルC2を指定します。

 

3.VBAで差込PDFを作成する機能を記入する

「Microsoft Visual Basic for Applications」を起動します。

標準モジュールを追加する

標準モジュールを追加する

 

標準モジュールを追加して、以下のソースを書きます。

'メイン処理
Public Sub MainProc()
    Dim strNo As String
    
    With ThisWorkbook.Sheets("差込データ一覧")
        Do While True
        
            '従業員番号を保存
            strNo = .Range("A5")
            
            '従業員番号が空なら、ループを抜ける
            If strNo = "" Then Exit Do
            
            'A5:C5をコピーし、A2:C2に貼り付け
            .Range("A5:C5").Copy .Range("A2:C2")
                       
            '5行目を削除する(上にセルを上げる)
            .Range("A5:C5").Delete xlShiftUp
            
            'ひな形シートでPDFを作成する(作成PDFファイル名を指定する)
            Call CreatePdfFile("D:\200_work\100_PDF\" & strNo & ".pdf")
            
        Loop
        
        'A2:C2セルを空にする
        .Range("A2:C2") = ""
    End With
    
    MsgBox "完了"
End Sub


'指定されたファイル名でPDFを作成する
Public Sub CreatePdfFile(ByVal strFilePath As String)
        
    ThisWorkbook.Sheets("ひな形").ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=strFilePath, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub

 

最後にEXCELを「◯◯◯.xlsm」というような感じでマクロ有効ブック形式で保存します。

 

4.差込PDFの動かし方

それでは、差込PDFの動かし方を説明します。

マクロを起動する

マクロを起動する

「開発」タブの「マクロ」をクリックします。

 

実行ボタンをクリックする

実行ボタンをクリックする

先程作成した自作関数「MainProc」が一覧に表示されていますので、選択します。

次に、「実行」ボタンをクリックして差込PDFを実行します。

 

しばらく待つと、PDFファイルが3つ作成されます。

差込PDFが3つ作成された

差込PDFが3つ作成された

 

うまく動きましたか?

次は、あなたの好きなレイアウトに好きな情報を用意して、差込PDFを作成してみましょう。

 

以上です。

 

最後まで読んでいただきありがとうございました。
この記事をシェアしていただけると喜びます。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です