プロが教えるわが家の防犯対策術!

Excel2003でVBAをくんでいます。
印刷の成功判定を行いたくて、以下のFunctionをくみました。(印刷失敗時にFalseを返したい)しかし、印刷する処理で、実行エラーが発生してしまいます。
原因がわかりません。どなたかお教えください。よろしくお願いします。

'決裁処理用自動印刷機能 印刷処理の成功失敗を知りたい
Function PrintAuto()
PrintAuto = True
'通常使うプリンタで印刷 Arrayに複数シート設定
Sheets(Array(SHEET_DETAIL1, SHEET_DETAIL2, SHEET_DETAIL3)).Select
Sheets("ほげほげ").Activate
↓ここでコンパイルエラー発生(Functionまたは変数が必要です)
PrintAuto = ActiveWindow.SelectedSheets.PrintOut(Copies:=1, Collate:=True)
Sheets(SHEET_DETAIL1).Select
Sheets(SHEET_DETAIL1).Activate
End Function

A 回答 (1件)

>PrintAuto = ActiveWindow.SelectedSheets・・・



もともと戻り値の無いものなので、どのようにしてもプリンター(印刷処理)からのステータスを受取る事は出来ません。
なので「印刷処理の成功失敗を知りたい」という希望をかなえる事は出来ません。

正確な結果を受取るには、APIでプリンタードライバーの結果を受取るしか無いようです。(Win32API などを使って行うしか無いでしょう。)

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.ph …
    • good
    • 0
この回答へのお礼

すばやいご回答ありがとうございます。
とても参考になりました。
初心者の私には、ちょっと手ごわそうなので運用側で代案を
考えてみようと思います。
ありがとうございました。

お礼日時:2007/04/27 09:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A