環境:Windows 10(2004)
Office Pro Plus 2016(Excel バージョン2009)
WorksheetオブジェクトのPrintOutメソッドでPDF出力をしています。
(PDF writerは環境依存を避けるために"Microsoft Print to PDF"を指定)
出力を指定する印刷ダイアログ「印刷結果を名前を付けて保存」が表示されますが、そこで[キャンセル]を押すとエラーになります。
エラー:実行時エラー '1004'
PrintOutメソッドは失敗しました'_Worksheet'オブジェクト
このエラーを表示しないで(回避して)元の画面に戻したいのですが、PrintOutメソッドは戻り値を持たないようなので、方法はないのでしょうか?
以下はコードです。
Public Const PDFPRINTER As String = "Microsoft Print to PDF"
Private Sub btnPrint_Click()
Dim ws As Worksheet
Dim maxrow As Long
Dim area As String
If (vbEmpty = Worksheets(”結果シート”).Cells("A1")) Then
MsgBox "結果がありません", vbOKOnly + vbExclamation
Else
Set ws = Worksheets(”結果シート”)
maxrow = ws.Cells(ws.Rows.Count, "C").End(xlUp).row
area = ”A1:C100"
ws.PageSetup.PrintArea = area '印刷範囲を設定
ws.PrintOut , , , , PDFPRINTER '<===ここでエラー
Set ws = Nothing
MsgBox "PDF化しました。", vbOKOnly + vbInformation
End If
End Sub