ここでは 保存したクラウド上のピボットグラフを自動でリンク集にまとめる VBA の例を紹介します。ポイントは「クラウド(OneDriveやSharePoint)と同期されているローカルフォルダに保存されたファイルを走査し、そのファイルへのリンクをExcelシートに一覧化する」ことです。
基本例:OneDriveフォルダ内のピボットグラフファイルをリンク集にまとめる
Sub ピボットグラフリンク集作成()
Dim fso As Object
Dim folder As Object
Dim file As Object
Dim destWs As Worksheet
Dim rowIndex As Long
Dim cloudPath As String
' OneDriveの同期フォルダを指定(例)
cloudPath = "C:\Users\YourName\OneDrive\PivotExports\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(cloudPath)
Set destWs = ThisWorkbook.Sheets("LinkList")
destWs.Cells.Clear
destWs.Range("A1").Value = "ファイル名"
destWs.Range("B1").Value = "リンク"
rowIndex = 2
' フォルダ内のファイルを走査
For Each file In folder.Files
' 条件:拡張子がPDFまたはPNG
If LCase(fso.GetExtensionName(file.Name)) = "pdf" Or _
LCase(fso.GetExtensionName(file.Name)) = "png" Then
destWs.Range("A" & rowIndex).Value = file.Name
' ハイパーリンクを作成
destWs.Hyperlinks.Add Anchor:=destWs.Range("B" & rowIndex), _
Address:=file.Path, _
TextToDisplay:="開く"
rowIndex = rowIndex + 1
End If
Next file
End Sub
VB👉 OneDrive の PivotExports フォルダに保存された PDF/PNG ファイルを一覧化し、クリックで開けるリンク集を「LinkList」シートに自動生成します。
応用例:SharePointフォルダを対象にリンク集を作成
Sub SharePointリンク集作成()
Dim fso As Object
Dim folder As Object
Dim file As Object
Dim destWs As Worksheet
Dim rowIndex As Long
Dim cloudPath As String
' SharePointの同期フォルダを指定(例)
cloudPath = "C:\Users\YourName\SharePoint\TeamSite\PivotExports\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder(cloudPath)
Set destWs = ThisWorkbook.Sheets("LinkList")
destWs.Cells.Clear
destWs.Range("A1").Value = "ファイル名"
destWs.Range("B1").Value = "リンク"
rowIndex = 2
For Each file In folder.Files
' 条件:ファイル名に「売上」または「数量」を含む
If InStr(file.Name, "売上") > 0 Or InStr(file.Name, "数量") > 0 Then
destWs.Range("A" & rowIndex).Value = file.Name
destWs.Hyperlinks.Add Anchor:=destWs.Range("B" & rowIndex), _
Address:=file.Path, _
TextToDisplay:="開く"
rowIndex = rowIndex + 1
End If
Next file
End Sub
VB👉 SharePoint の同期フォルダから「売上」「数量」を含むファイルだけをリンク集にまとめます。
ポイント
- クラウド保存フォルダはローカル同期パスを指定する
- ファイル走査 →
FileSystemObjectを利用 - 条件判定 → 拡張子やファイル名でフィルタリング
- リンク作成 →
Hyperlinks.Addでクリック可能なリンクを生成
練習課題
- 全ファイルの一覧ではなく「最新更新日が今日のファイル」だけをリンク集にするコードを書いてみる
- 各ファイルのサイズも一覧に追加するコードを作る
- 複数条件を組み合わせて「拡張子がPDFかつファイル名にReportを含む」ファイルだけをリンク集にするコードを作る
こうした仕組みを作ると、保存したクラウド上のピボットグラフを自動でリンク集にまとめる自動化ツールが完成します。


