• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで印刷するとエラーになってしまいます。)

VBAで印刷するとエラーになってしまいます。

このQ&Aのポイント
  • EXCELシートをボタンの押下で印刷するマクロを組んだのですが、実行すると必ずエラーになってEXCEL自体が落ちてしまいます。
  • 普通にEXCELの印刷([ファイル]->[印刷])から印刷すると問題なく印刷できます。
  • 何か足りないものがあるのでしょうか?どなたか教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

質問と関連するかわかりませんが、エラー表示と同じような技術情報 がありました。 Excel 2003 修正プログラム パッケージ (Excel.msp) の説明 : 2008 年 8 月 26 日 http://support.microsoft.com/kb/956834/ja xlsmファイルを開くマクロみたいなので違うと思いますが。 上記以外だと、こちら↓のようなものもあります。 [OFF2003] [INFO] Visual Basic の事前バインディングを使用すると、 Office オートメーションでエラーまたは予期しない現象が発生する http://support.microsoft.com/kb/319832/ja 2 回目のコード実行時に Excel のオートメーションが失敗する http://support.microsoft.com/kb/178510/ja どれも関係するものとは違うかもしれませんが、少しでも関連情報 があれば参考になるかと思って、投稿しました。

その他の回答 (5)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.5

問題きりわけの為に 新規ファイルにコマンドボタンを1個、イベントは提示されたものだけ。 一応、コンパイルして置いてから実行してもエラーになるのですよね? だとしたら 何かの環境によるものかも知れない。 複数のプリンタがあるのなら、既定のプリンタをかえてみるとか 他のPCが有ったらファイルを持ってて片っ端から試してみては。

aru_008
質問者

お礼

ありがとうございます。 >新規ファイルにコマンドボタンを1個、イベントは提示されたものだけ。 >一応、コンパイルして置いてから実行してもエラーになるのですよね? のマクロで他のPCで実行しても同じ現象でした。 マクロというよりは環境の問題だと思います。 ちなみにプリンタは1台だけです。 通常の印刷は出るのにマクロ起動だとエラーになるのは何ででしょうかねえ。。。

aru_008
質問者

補足

分かりました。 新規ファイルで再度確認してみたら問題なく印刷できました。 勘違いしていました。ウソ書いてすみません。 それで、相違点を調べていったところ、 エラーのEXCELファイルはフッターに画像を差し込んでいて、 それを取り除くとエラーが出なくなりました。 問題解決です。 みなさまのおかげで早めに解決できました。 ありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

#2の回答者です。 プリンタとプリンタ・ドライバは正しく合っていますか? プリンタのドライバの再インストール、もしくは、アップデートです。 そんなに難しいものではありません。詳しくは、そのプリンタのサポートサイトを参考にして、行ったら良いとか思います。

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.3

提示されたまんまを試して見ましがエラーにはなりませんでした。 他にはまったく何も無いシンプルなファイルです。 問題の切り分けの為に、そちらで同様に試してみた場合にもエラーが出るか試されては。 エラー画面で『エラー報告を送信する』のボタンは押せませんか? MSで対処方法が分かっている場合には、回答がポップアップで現れる場合があります。

aru_008
質問者

お礼

ありがとございます。 『エラー報告を送信する』は押せました。 が、回答はありませんでした。 プリンタのほうに問題があるのでしょうか?

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こちらでは、こう書いているのに、 ActiveSheet.PageSetup.CenterHeader = "&B&12印刷" >ActiveWorkbook.Worksheets(1).PrintOut 一見、合っているようでいても、私は、こういうコードは書いたことがありません。あぶないコードだなっていう印象です。 どこのモジュールに置いているのか分かりませんが、   ActiveSheet.PrintOut と書くのが普通です。もしくは、コントロールツールなら、  Me.PrintOut ですね。 どうしても、Worksheets(1)を入れたいというなら、安全のために、 With Worksheets(1) '←自ブックに限ります。  .Select '←本来は無用  .PrintOut End With とします。

aru_008
質問者

お礼

ありがとうございます。 ActiveSheet.PrintOut に変えても同様でした。 何がおかしいのか全くわからない状況です。

  • goold-man
  • ベストアンサー率37% (8364/22179)
回答No.1

Excel 2000ですか? マクロの組みかたもありますが・・・ 「"オートメーション エラー: 呼び出されたオブジェクトは、そのクライアントから切断されました"で Excel 2000 エラー メッセージ」 修正プログラム

参考URL:
http://support.microsoft.com/kb/813120/ja
aru_008
質問者

お礼

情報ありがとうございます。 あと、すみません。 EXCELのバージョンは2003 SP3です。 何か分かるようであればお願いいたします。