Excel VBAで特定のシートをPDFとして保存する方法

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として簡単に保存できます。基本的な手順から応用例まで、さまざまな方法で自動化を強化し、日常業務を効率化することが可能です。

コメント

コメントする

目次