動作検証バージョン:Windows 11 Home + Python 3.10.6(64-bit) + xlwings 0.30.9 + 64bit Excel(バージョン2307 ビルド16626.20000 クイック実行)
Worksheet.ExportAsFixedFormatメソッドを使えば、
Excel VBAからワークシートをPDF出力できます。
ですが、xlwingsのSheet.to_pdf()メソッドのほうが、便利だと私は感じます。
[スポンサードリンク]
xlwingsでワークシートをPDFに
以下のスクリプトを実行すると、アクティブシートがカレントディレクトリに、シート名がファイル名のPDFとして出力されます。
import xlwings as xw
sht = xw.sheets.active
sht.to_pdf()
sht = xw.sheets.active
sht.to_pdf()
Sheet.to_pdf()メソッドには、path・show・qualityといった引数も指定できますが、何も指定せずに実行することもできます。
その場合、カレントディレクトリに、シート名がファイル名になったPDFが出力されます。
Excel VBAの場合
Excel VBAでアクティブシートをPDF出力するには、以下のようなコードを実行します。
ActiveSheet.ExportAsFixedFormat xlTypePDF
ExprtAsFixedFormatメソッドには複数の引数を指定できますが、最低でも第1引数のTypeに、
定数xlTypePDFを指定する必要があります。
出力するPDFファイル名を指定せずに実行した場合、カレントディレクトリに出力されるのですが、そのときブック名がPDFのファイル名になってしまいます。
ここは、xlwingsのようにワークシート名になってくれるほうが、ありがたいと感じます。
[スポンサードリンク]
Home » Python » xlwingsの使い方 » ExcelシートのPDF出力はxlwingsのほうがVBAより便利