【Excelマクロ】指定フォルダ内のPDFを一覧化&リンク付きで出力

業務で「このフォルダのPDFを全部一覧にしておいて」と依頼されたことはありませんか?

たとえば請求書や報告書など、月ごとにPDFで保存している資料が増えてくると、探すだけで手間がかかります。

VBAを使えば、指定したフォルダにあるPDFファイルを一覧化し、さらに「クリックで開けるリンク」まで自動で付けることが可能です。

PDF一覧とリンクを自動生成するマクロ

次のマクロは、選択したフォルダにある .pdf ファイルをすべて取得し、1行ずつシートに出力します

ファイル名とともに、リンク付きでクリックするとPDFが開くようになります。

Sub ListPDFWithLinks()

    Dim fso As Object
    Dim folder As Object
    Dim file As Object
    Dim fd As FileDialog
    Dim path As String
    Dim row As Long

    ' フォルダ選択ダイアログ
    Set fd = Application.FileDialog(msoFileDialogFolderPicker)
    If fd.Show <> -1 Then Exit Sub
    path = fd.SelectedItems(1)

    ' ファイル操作用オブジェクト
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set folder = fso.GetFolder(path)

    ' 出力シート初期化
    Sheets.Add(after:=Sheets(Sheets.Count)).Name = "PDF一覧"
    row = 1
    Cells(row, 1).Value = "ファイル名"
    Cells(row, 2).Value = "リンク"

    ' PDFファイルを一覧化
    For Each file In folder.Files
        If LCase(fso.GetExtensionName(file.Name)) = "pdf" Then
            row = row + 1
            Cells(row, 1).Value = file.Name
            Cells(row, 2).Hyperlinks.Add _
                Anchor:=Cells(row, 2), _
                Address:=file.Path, _
                TextToDisplay:="開く"
        End If
    Next file

    Columns("A:B").AutoFit

    MsgBox "PDF一覧の作成が完了しました", vbInformation

End Sub

このマクロのポイントは次の通りです。

  • FileDialog で対象フォルダを選択
  • FileSystemObject でフォルダ内のファイルを検索
  • 拡張子が .pdf のものだけを抽出
  • ハイパーリンク付きでシートに出力

出力結果は次のようになります。

ファイル名リンク
report_2025_01.pdf開く
report_2025_02.pdf開く

ファイルの一覧化+リンク付きの利点

このマクロを使うことで、単なるファイル名の一覧ではなく「すぐに開けるリンク」付きで出力できるため、業務での活用が非常にスムーズになります。

たとえば、

  • チームで共有しておく「資料一覧表」を自動で作成できる
  • 毎月の請求書や見積書などの確認が簡単になる
  • 「クリック一つで目的のPDFを開ける」ため探す時間を削減できる

特に紙やメール添付のやり取りが多い業種では、こうしたPDF管理の効率化は大きな業務改善につながります。

実装するメリット

今回のVBAを導入することで、次のようなメリットが得られます。

  • ファイル名を手入力せずに自動取得できる
  • PDFのリンクが自動で付くため、確認作業がスムーズ
  • 誰でも使えるシンプルなインターフェース(フォルダ選択)
  • 繰り返し処理が不要になることで人的ミスも減少

「ファイル名をコピーして、Excelに貼って、リンクを付けて……」といった作業を毎月繰り返している方には特におすすめです。

まとめ

指定フォルダにあるPDFを一覧化し、リンク付きで出力するマクロは、ドキュメントの管理業務を一気に効率化してくれます。

  • .pdf ファイルのみを対象に抽出
  • ハイパーリンクを自動で生成
  • 選択フォルダに応じて柔軟に運用可能
  • 出力シートは毎回新規作成で上書きの心配なし

ExcelとVBAを使えば、こうしたちょっとした手間を削減し、より本質的な作業に集中できる環境をつくることができます。

ぜひ、日々の業務に取り入れてみてください。

動画で学びたい方へ

「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。

VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。

動画で学ぶExcelマクロ|JIMOVEオンラインスクール

コメントする

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

上部へスクロール