エクセルVBA印刷エラー(Windows98,Me)

このQ&Aのポイント
  • エクセル2000のVBAでWindows98及びMe上で印刷コマンドを実行すると、エラーが発生し、エクセルが強制終了してしまいます。
  • マイクロソフトの問題として、VBAでプリンタ関連コマンドを利用する際にWindows98やMeで発生するエラーが認識されており、回避策が紹介されています。
  • Windows98やMeでは、VBA作成環境と使用環境が同じであっても印刷コマンドを実行するとエラーが発生します。WindowsXPや2000ではこの問題は発生しません。
回答を見る
  • ベストアンサー

エクセルVBA印刷エラー(Windows98,Me)

Windows98及びMe上でエクセル2000のVBAで印刷コマンドを実行した場合、エラーが発生し、エクセルが強制終了してしまいます。 (VBA例) Private Sub Command Button1.click() WorkSheets("sheet1").Activate ActiveSheet.PrintOut End Sub 上記を実行すると、 ”Excelが原因でKERNEL32.DLLにエラーが発生しました。Excelは終了します。・・・・・” と表示され、エクセルが強制終了してしまいます。 これは、マイクロソフトの問題として、認識されており、 文書番号 436490 ”XL2002 VBAでプリンタ関連コマンド利用時に強制終了”に回避策が紹介されています。 これは、VBAでプログラムを作成した環境と使用する環境のプリンタが異なる場合に発生するようですが、私が確認したところ、Windows98、Meの場合、VBA作成環境と使用環境が同じ場合でも発生します。簡単に言えば、Windows98、Meでは ”ActiveSheet.PrintOut ”というコマンドを実行すると、上記のエラーが発生してしまいます。なお、WindowsXP,2000では全く問題有りません。  エクセル上で組まれたフリーソフトでWindows98、Me動作確認済みとあるものでも、印刷を実行すると、エラーが発生するものが多く有ります。  マイクロソフトで公表されている回避策を実施しましたが、解決出来ません。  何かよい方法がありましたら、教えて下さい。  

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

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.1

こんにちは。 提示のコードで検証してみましたが質問の状況は再現しませんでした。 WinXP, Excel2000で提示のコードを作成し Win98Me, Excel2000, Printerは別のもの使用 ダメもとで以下のことを確かめてみたらどうでしょう。 ●Excel2000は最新(SP-3?)にアップデートされてるか ●提示のコードを   WorkSheets("sheet1").PrintOut に変更 以上です。

neko4506
質問者

お礼

taocatさま おかげさまで解決しました。 エラーの原因は思わぬところにありました。 プリンタドライバのアップデートで解決しました。 XPの場合はドライバーが古いとインターネットからダウンロードを要求されるため、新しいドライバーを使用していましたが、WindowsMe,98の場合、プリンタ購入時の付属CDをそのまま使用していました。) ご指摘のとおりエクセルのアップデートの確認、OSのアップデートの確認、VBAのコードを変えてみたり、ウイルスソフトが原因かも?・・・いろいろ試行錯誤した結果、そちらで”状況が再現しなかった”ということがとても大きなヒントとなりました。 本当にありがとうございました。

関連するQ&A

  • エクセル2000VBAからの印刷で実行時エラー1004発生

    エクセル2000のVBAマクロ中で印刷をしよう として、実行時エラー1004が発生し、原因が分からず 苦慮しています。 (前略) Sheets("ラベル印刷").Select ... ActiveSheet.PageSetup.PrintArea = "$A$1:$B$2" ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True を実行すると、WorksheetクラスのPrintOutメソッドが 失敗しましたというエラーがでます。 色々試して、 Worksheets("ラベル印刷").Activate ActiveSheet.PrintOut とやってみたり、シートの名称をデフォルトのSheet1に 戻したりしても同様でした。 同じモジュール中で、 Sub printtest()   Worksheets("ラベル印刷").PrintOut End Sub というのを記述して、VBAエディター中で実行ボタン (▼)で実行したり、ワークシートのツール/マクロの 実行から実行すると問題なく印刷できます。 ところが、マクロを改造してこのサブルーチンをコールする ようにすると、上と同様の現象が出ます。 別のPCで試みても再現されました。 他の部分は完成したつもりなのに、印刷が出来ず困っております。 アドバイスお願いします。

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

    VBAで印刷するとエラーになってしまいます。 EXCELシートをボタンの押下で印刷するマクロを組んだのですが、 実行すると必ずエラーになってEXCEL自体が落ちてしまいます。 添付画面を参照して下さい。 普通にEXCELの印刷([ファイル]->[印刷])から印刷すると問題なく印刷できます。 何か足りないものがあるのでしょうか? どなたか教えてください 以下ソース ---- Private Sub btn_Print_Click() 'ActiveSheet.PageSetup.CenterHeader = "&B&12印刷" ActiveWorkbook.Worksheets(1).PrintOut End Sub ----

  • Excel VBAのPrintOutメソッドにつきまして

    毎々お世話になります。 ExcelのVBAにてシート編集→印刷を実施しておりますが、印刷が行えない事象が発生しております。(100%ではありません。) ----------------------------------------------- ExlObj.ActiveSheet.PrintOut '印刷開始 ExlObj.DisplayAlerts = False ExlObj.Quit 'Excelの終了 Set ExlObj = Nothing ------------------------------ シート内のレコードが多く大量の枚数を印刷する場合、PrintOutメソッドから次の処理(Quit→オブジェクト破棄)を行ってますが、PrintOutから次の処理に移った後にExcelオブジェクトが残ることはないでしょうか? また、ActiveSheetのCloseは必ずQuit前に実施する必要はありますでしょうか?

  • VBAが重くなってしまった

    ExcelでVBAを組んでいましたが、ある日突然このVBAを実行すると途中でCPUが100%になったままExcelが復帰しづらくなりました。 強制的にESCキーを押してVBAを終了させてもExcel自体が動作が重くなってExcelブックとVBEのウインドウを行ったり来たりするにもCPUがしばらく100%になって動作が非常に重くなります。 結局タスクマネージャからExcelを強制終了するのですが、原因がわかりません。 VBAの内容に誤りがあるのでは?と思って何日も調べましたがVBAでエラーがでることはなく、VBAの実行が非常に重く、今まで3秒で実行が終わっていたものが数分かかってしまいます。 Windows2000SP4+Excel2000SP3です。おわかりの方いるでしょうか?たいへん困っております・・・。

  • Excel VBAで10回以上の実行でエラー

    Excel VBAで10回以上同じマクロを実行するとエラーが発生します。 10回目までは問題なく実行され、11回以上使おうとするとエラーになるといった具合です。 環境はwindows7 64bit x Microsoft Office2010 32bitです。

  • ExcelのVBA環境の設定事項について

    ExcelのVBA環境の設定事項について ExcelのVBA実行で異常終了します。その状況は… 1.CSVファイルオープンでエラー発生(1004)   (個別VBAではオープンできる。ファイルは正常) 2.何の表示もなくExcel画面が消えます。また異常終了します 同じVBAを他のPC環境で実行するとノーマル終了できるためVBAに主因はありません。 異常終了するPC環境は… Windows7,Office2010,64bitCPUです 正常終了するPC環境は WindowsXP,Office2002,32bitCPUです お聞きしたいことは… VBA環境の設定で制限事項はありますか、その変更方法について? (時間制限、件数制限、コミット要否など)

  • Excel VBAに関する質問

    すいませんがどなたか教えていただきたいのですが。 Excel VBAでグラフの作成と消去をおこなうマクロを作成して、それをWeb上で実行できるようにしたいのですがWeb上でグラフ削除が実行できません。 記述は ActiveSheet.ChartObjects(1).Select ActiveSheet.ChartObjects(1).Delete としています。 普通にエクセルファイルを開いて実行すると問題なく動作します。 これを回避する方法を教えてください。

  • Excel VBA ハイパーリンクの追加でエラー

    Excel VBAで下記のようなコードを書いて、ファイルに対するハイパーリンクを追加したいのですが、実行時にエラーとなってしまいます。 どんな原因が考えられるか教えていただけますでしょうか。 よろしくお願いいたします。 <実行環境> Excel 2003 <コード>  With ActiveSheet .Hyperlinks.Add Anchor:=.Cells(RowNum, 1), Address:=FilePath End With <エラー> 実行時エラー '1004' アプリケーション定義またはオブジェクト定義のエラーです。 <補足> Excel2000の環境で実行すると正常に動作します。バージョンの違いで動作に差がでるのでしょうか? またRowNumとFilePathには有効な値が入っていることはステップ実行で確認しています。

  • Vistaでエクセルのマクロがエラーになります

    XPのSP3でエクセル2000を使っていました。 今回、Vistaに替えて、今まで使っていたエクセル2000をインストールしました。 ワークシートの印刷はUSBで接続したエプソンG700で可能なのですが、下記のVBAを実行する時点でエラーとなり、「マイクロソフトエクセルで問題が発生しました」と表示され、エクセルそのものが終了してしまいます。 If kensu <= 23 Then Range("l39:r82").Select ActiveSheet.PageSetup.PrintArea = "l39:r82" ActiveWindow.SelectedSheets.PrintOut copies:=2 End If 印刷は、条件によりこの Range 以外のセル範囲も選択して印刷します。 このVBAが動かないので、日常事務が出来なくなっています。 止む無くXPを再度登場させ、使わざるを得ない状況に追い込まれています。 解決策をご教示頂きたく、お願いします。

  • EXCEL2000VBAのアプリケーションエラーについて

    EXCEL2000VBAにてユーザーフォームを使ったマクロを作ったのですが、マクロを実行しユーザーフォームからエクセルのシートにデーターを移行する際に、アプリケーションエラーというエラーがでます。 他のイベントプロシージャの動作ではこのエラーは発生しません。 EXCEL2003でも発生しました。 はっきり分かりませんが、必ずアプリケーションエラーが生じるのではなく、1,2度保存や終了を繰り返した後に発生するようです。 アプリケーションエラーどういった場合に発生するのでしょうか? また、なぜこのようなことが発生するのでしょうか? 初心者ですのでよろしくお願いいたします。