※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。
2025年8月29日【ID:0】
メンバー限定
【ExcelVBA】差し込みで複数のPDFファイルを自動生成
以下の表は、セルC2に入力した値に応じてデータが抽出されるように作られています。


今回は、このセルC2の値を「A→B→C」のように好みの値に切り替えながら、このシートの印刷範囲の内容をPDFファイルにして自動で保存する仕組みを実現していきます。

※こちらで実現したファイルは記事の最後にて配布しています。
1. 開発手順
まず初めに、[開発]タブを選択し、[マクロ]を選択します。

表示された以下の画面にて、開発する機能の名前を入力し、[作成]を選択します。
こちらでは、「ExportToPDF」と入力しています。

次に表示される以下の画面の「Sub ○○」から「End Sub」の間にコードを記述します。

2. コードの記述(PDFファイル出力)
以下のコードを記述します。
Sub ExportToPDF()
Dim fPath As String
fPath = ThisWorkbook.Path
Worksheets("PDF出力").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=fPath & "\Sample.pdf"
End Sub
では、コードについて解説していきます。
Dim fPath As String
fPath = ThisWorkbook.Path
「fPath」という変数(入れ物)を用意し、現在開いているExcelファイルの保存先のフォルダのパスを「fPath」に格納しています。
そのため、取得されるパスは環境により異なります。
こちらの環境の場合は、以下のパスが取得されます。
A:\PDF出力

Worksheets("PDF出力").ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=fPath & "\Sample.pdf"
「PDF出力」というシートの印刷範囲をPDF形式(Type:=xlTypePDF)で保存しています。
保存先とファイル名は、パスで指定します。
こちらでは以下のように、Excelファイルと同じ配下に「Sample.pdf」という名前で保存しています。
Filename:=fPath & "\Sample.pdf"
以上のコードを実行することで、以下のようにPDFファイルを作成することができます。

ただこのままでは、セルC2の値を手動で変更する必要があります。
そこで、次のように修正します。
3. コードの記述(引数の設定)
以下のように修正します。
続きはIT予備メンバー限定です。
メンバー限定コンテンツになります。

IT予備メンバーページと連携することで内容を確認することができます。
メンバーとは
すでにメンバーの方は、
ログインして連携してから、こちらを更新すると閲覧できます。
※連携しても確認ができない場合は、少し時間を置いてご確認ください。
ログイン(新しいタブ)
※[ログイン]→[設定]→[IT予備-連携]で連携できます
※IT予備メンバーに加入して連携すると、
一部の広告が非表示になります。




















































