Excelの中で、特定のシートをPDFとして保存するタスクは、日常業務の自動化やレポート作成の際に非常に便利です。VBAを使用すれば、この作業を効率的に行うことができます。この記事では、Excel VBAを用いてワークブックの特定のシートだけをPDFで保存する方法について解説します。さらに、応用例を取り上げ、より実用的なスキルを身につけるための手引きを提供します。
目次
基本的な手順
1. VBAエディタを開く。
2. 対象となるシートを指定するコードを書く。
3. 指定したシートをPDFとして保存するコードを追加する。
以下に、具体的なコードとその解説を示します。
Sub SaveSheetAsPDF()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1") 'シート名"Sheet1"を指定
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\path\to\your\file.pdf"
End Sub
このコードでは、ワークブック内の”Sheet1″という名前のシートを指定し、それをPDFとして指定したパスに保存しています。`ExportAsFixedFormat`メソッドは、ワークシートをPDFやXPSとして保存する際に使用されます。
応用例1: 複数のシートを一つのPDFとして保存
Sub SaveMultipleSheetsAsPDF()
Dim wsArray() As String
wsArray = Array("Sheet1", "Sheet2")
ThisWorkbook.Sheets(wsArray).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\path\to\your\multi_sheet_file.pdf"
End Sub
このコードでは、”Sheet1″と”Sheet2″の2つのシートを一つのPDFとして保存します。
応用例2: 保存する際の品質を指定する
Sub SaveSheetWithQuality()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\path\to\your\file.pdf", Quality:=xlQualityStandard
End Sub
このコードでは、`Quality`パラメータを使用して保存するPDFの品質を指定しています。`xlQualityStandard`は標準品質での保存を意味します。
応用例3: 特定の範囲だけをPDFで保存
Sub SaveRangeAsPDF()
Dim rng As Range
Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:D10")
rng.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\path\to\your\range_file.pdf"
End Sub
上記のコードは、”Sheet1″のA1からD10までの範囲だけをPDFとして保存します。
まとめ
Excel VBAを使用すると、特定のシートや範囲をPDFとして簡単に保存できます。基本的な手順から応用例まで、さまざまな方法で自動化を強化し、日常業務を効率化することが可能です。
コメント