エクセルマクロで、PDF出力時にファイル名にシート名を使用するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
ぜひお試しください!
PDF出力時にファイル名をシート名から取得
以下のマクロを実行すると、PDF保存時にシート名をファイル名に使用します。
Sub PDF出力時にファイル名をシートから取得()
Dim TargetName As String
'ファイル名にするシート名を変数格納
TargetName = ActiveSheet.Name
'PDF保存
Sheets(TargetName).ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=ActiveWorkbook.Path & "\" & TargetName & ".pdf"
MsgBox "完了"
End Sub
アクティブシート名を取得して、ファイル名に利用します。
[TargetName = ActiveSheet.Name] にて、シート名を変数に格納します。
PDFファイルを保存する際に、[TargetName] を使ってファイル名を指定します。
PDF出力時にファイル名をシート名から取得(1番右のシート)
以下のマクロを実行すると、PDF保存時にシート名をファイル名に使用します。
Sub PDF出力時にファイル名をシートから取得()
Dim TargetName As String
'ファイル名にするシートを変数格納
TargetName = Worksheets(Worksheets.Count).Name
'PDF出力
Sheets(TargetName).ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=ActiveWorkbook.Path & "\" & TargetName & ".pdf"
MsgBox "完了"
End Sub
一番右の「リスト3」シートをPDFファイルにして、
ファイル名をシート名から取得します。
「リスト3.pdf」を自動作成できました。
PDF出力時にファイル名をシート名から取得(全シート)
以下のマクロを実行すると、PDF保存時にシート名をファイル名に使用します。
Sub PDF出力時にファイル名をシートから取得()
Dim TargetName As String
Dim WS As Worksheet
For Each WS In Worksheets
'ファイル名にするシート名を変数へ格納
TargetName = WS.Name
'名前をつけて保存
Application.DisplayAlerts = False
WS.Select
WS.ExportAsFixedFormat Type:=xlTypePDF, _
FileName:=ActiveWorkbook.Path & "\" & TargetName & ".pdf"
Application.DisplayAlerts = True
Next WS
MsgBox "完了"
End Sub
すべてのシートを、それぞれ1つのPDFファイルで保存します。
ファイル名をシート名から付けることができました。
この記事がお役に立ちますと幸いです。
・【エクセルマクロ】PDF処理を自動化する使用例まとめ
【エクセルマクロ】PDF処理を自動化:超便利14選
...
「プログラマーの本気がExcelを覚醒させる 超絶ExcelVBA」
ExcelVBAでワンランクアップできる書籍
具体的で応用が利く技をたくさん掲載
リンク