ダイアログボックス上のOKボタンから印刷マクロを実行できないが?

Question 12.2 Previous Next
Excel 95で、自分で作成したダイアログボックス上からOKボタンを押したときに、印刷マクロを実行しようとすると、止まってしまいますが、どうしてでしょう?
印刷マクロを直接実行すると何事もなく、動くのですが・・・
エラーメッセージは 「worksheetクラスのprintoutメゾットが失敗しました」ということで、「 Worksheets("sheet1").PrintOut 」の部分で止まります。
Answer   Copyright (C) 1998.11.4 Yoshioh Nagai
自分で作成するダイアログボックスは、私は、あまり使わないので、エクセル95で調査してみた結果をお答えします。

エラーメッセージに表示された番号は 1004 で、その意味はヘルプによると 「(オブジェクト) クラスの (メソッド名) メソッドが失敗しました。このメソッドは、指定されたオブジェクトでは使用できません」と説明されています。

エクセル95のVBAでは サポートされていない のですから、他の方法に変えることはできませんか?
もともと、印刷するだけならツールバーの印刷ボタンを押せば済むことで、わざわざダイアログボックスに、印刷のためのボタンを設けるのは、それなりのニーズがあるとは思いますが。

例えば、ワークシート上にコマンドボタンを設ける方法や、メニューバーに自前の印刷メニューを加える方法など、いろいろ考えられると思います。
なお、あなたが作られたであろう「OKボタンを押したときに実行する印刷マクロ」の中を、一度、エラートラップさせて、改めて印刷指示するように変えてから試してみましたが、解決しませんでした。ご参考まで。

 

Excel VBA Macro