Excel VBAを使って複数シートをPDFで出力する
VBAでPDF出力するならExportAsFixedFormatメソッドを使うが、WorkSheetsオブジェクトはサポートされていないっぽくて複数シートの直接指定ができない。
どういうことかというとこんなのができない。
Sub ExportAsPdf()
Dim TargetPath As String
TargetPath = ThisWorkbook.Path & "\MyPDF.pdf"
Dim TargetSheets As Worksheets
Set TargetSheets = WorkSheets(Array(Sheet1.Name, Sheet2.Name))
TargetSheets.ExportAsFixedFormat _
Type:=xlTypePDF, _
filename:=TargetPath
End Sub
どうも対応しているオブジェクトが限られていて、調べた限りでは以下のようだ。
Range
Chart
Worksheet
Chartsheet
Workbook
Project
ということで、やりたいことをやるなら少し気持ち悪いがこんな感じになってしまう。
Sheet1.select
Sheet2.select False
Selection.ExportAsFixedFormat
この場合だとWorkbookオブジェクトが対象になっているのかもよくわからん。個人的には対象をオブジェクト変数に直接ぶち込んでメソッドを指定したいのだがやり方が見つからなかった。
もし分かる人がいたら教えてください。
では。
よろしければサポートお願いします🥕 サポートはレビュー記事作成の原資となります