品質やページ数などの条件を指定してPDFファイルを出力

品質やページ数などなどの条件を指定してPDFファイルを出力する。

VBAでブック、シートの内容をPDF出力する時に利用するExportAsFixedFormatメソッドの引数を利用することで品質、印刷範囲、ページ数などの条件を付けてPDFファイルを出力することができます。

そのなかで下記の4パターンをサンプルコードでは記載しています。
 ※これらの引数はいずれも省略可能な引数となります。

引数名説明省略
品質Quality標準品質(xlQualityStandard )、最小限品質(xlQualityMinimum )が指定可。
印刷範囲IgnorePrintAreas印刷範囲のみを出力させるかをTrue/Falseで指定。
Falseを指定した場合、印刷範囲のみをPDFに出力。
ページ数From、Toページ数を指定してPDFに出力。
Fromに開始ページ数、Toに終了ページ数を指定。
出力後の表示OpenAfterPublish出力後にPDFファイルを開くかをTrue/Falseで指定。
Trueを指定した場合にPDFファイルが自動で開く。


PDFへの出力方法についてはこちらのページにも掲載しています。
 「シートの内容をPDFファイルに出力」 

 ●品質を指定してPDFを出力(Quality

'******************************************************************
' 品質を指定してPDFを出力(標準/最小限)
'******************************************************************
Sub exportPDF_Quality()

    '出力先のパスを指定
    Dim sOutputPath As String
    sOutputPath = "C:\VBA\pdf\"
    
    
    'PDF出力(標準品質)
    Sheets("Sheet1").ExportAsFixedFormat _
                    Type:=xlTypePDF, _
                    FileName:=sOutputPath & "QualityStandard.pdf", _
                    Quality:=xlQualityStandard
    
    
    'PDF出力(最小限品質)
    Sheets("Sheet1").ExportAsFixedFormat _
                    Type:=xlTypePDF, _
                    FileName:=sOutputPath & "QualityMinimum.pdf", _
                    Quality:=xlQualityMinimum
    
    MsgBox "出力されました。"
    
End Sub

 ●印刷範囲の部分のみPDFに出力(IgnorePrintAreas)

'******************************************************************
' 印刷範囲の部分のみPDFに出力
'******************************************************************
Sub exportPDF_PrintArea()

    '出力先のパスを指定
    Dim sOutputPath As String
    sOutputPath = "C:\VBA\pdf\"
    
    
    'PDF出力(印刷範囲だけをPDFに出力)
    Sheets("Sheet1").ExportAsFixedFormat _
                    Type:=xlTypePDF, _
                    FileName:=sOutputPath & "PrintArea.pdf", _
                    IgnorePrintAreas:=False

    
    MsgBox "出力されました。"
    
End Sub

 ●ページ数を指定してPDFに出力(From、To)

'******************************************************************
' ページ数を指定してPDFに出力
'******************************************************************
Sub exportPDF_Page()

    '出力先のパスを指定
    Dim sOutputPath As String
    sOutputPath = "C:\VBA\pdf\"
    
    
    'PDF出力(ページ数を指定して出力)
    Sheets("Sheet1").ExportAsFixedFormat _
                    Type:=xlTypePDF, _
                    FileName:=sOutputPath & "Page.pdf", _
                    From:=2, To:=3

    
    MsgBox "出力されました。"
    
End Sub

 ●出力後にPDFファイルを開く(OpenAfterPublish)

'******************************************************************
' 出力後にPDFファイルを開く
'******************************************************************
Sub exportPDF_OpenAfter()

    '出力先のパスを指定
    Dim sOutputPath As String
    sOutputPath = "C:\VBA\pdf\"
    
    'PDF出力(出力後にファイルを開く)
    Sheets("Sheet1").ExportAsFixedFormat _
                    Type:=xlTypePDF, _
                    FileName:=sOutputPath & "Page.pdf", _
                    OpenAfterPublish:=True

    
End Sub