やり方
サンプル
'『左から〇番目』という指定だとシート位置を変更した時にバグる。
'(余計な改修が発生)
'なので、シート名で指定の方が良いと思う。
'『無関係シート』のようなPDF対象外のシートが間にあっても例外にならない。
Dim sheet_list_(1) As String
sheet_list_(0) = "pdf対象1"
sheet_list_(1) = "pdf対象2"
'xlsmファイルと同じフォルダーにtest.pdfという名前で出力。
Dim file_path_ As String
file_path_ = ThisWorkbook.Path & "\test.pdf"
'対象シートを選択。
Worksheets(sheet_list_).Select
'PDF出力。
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=file_path_
'複数シート選択状態のままだと誤編集の恐れがあるので、
'一番左のシートを選択した状態にリセット。
Worksheets(1).Select
配列で指定した名前のシートが存在しない場合
下記のように例外。
インデックスが有効範囲にありません。
PDFファイルの上書きが発生する場合
- 例外にならない。
- 『上書きが発生しますけどよいですか?』のような確認ダイアログは出ない。
問答無用で上書きされる ので注意。
参考サイトさん
バージョン
Windows 10 Pro 22H2 19045.3031
Microsoft Excel for Microsoft 365 MSO (バージョン 2304 ビルド 16.0.16327.20200) 32 ビット