• ベストアンサー

Excel のマクロからの印刷と終了

特定のシートを印刷し,それが終われば Excel 本体を終了させるマクロを考えています。 Worksheets("sample").printout Application.Quit しかし,このコードでは 「問題が発生したため、Microsoft Office Excel を終了します。(略)」 という,エラー報告送信ダイアログが出てしまいます。 どうすれば印刷した後に Excel を終了させることができるのでしょうか。

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

  • ベストアンサー
  • _rainman
  • ベストアンサー率84% (11/13)
回答No.1

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Application.Quit これだとどうですか?

AXRRXA
質問者

お礼

動きました!ありがとうございます!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Sub test01() Worksheets("Sheet1").Range("A1:A3").PrintOut Application.Quit End Sub で動きましたよ。変更を保存しますかと出ましたが。 Sub test01() Worksheets("Sheet1").PrintOut Application.Quit End Sub でも動きました。

AXRRXA
質問者

お礼

うちの環境では動きませんでしたが,友達の環境では動きました。 どうも Excel の設定がおかしいかファイルが壊れているかしていたみたいです。

関連するQ&A

  • Excelの、マクロ終了時にExcel本体も閉じたい

    Excelの、マクロ終了時にExcel本体も閉じたいのですが、 どのようなコマンドを埋め込んだらいいのでしょうか? Application.Quit では、Bookは閉じますが、Excel本体は残ってしまいます。 よろしくお願いいたします。

  • エクセル マクロ ファイルの再起動

    ネットワークプリンター2台にワークシートを出力するコードで悩んでいます。 下記のコードを繰り返すと110枚前後でリソース不足が発生することが分かりました。 保存しないで終了し再度開くとリセットされることも分かりました。 保存しないで終了は出来るのですが、同じファイルを再度開くことはマクロで出来ますか? 宜しくお願い致します。 =================================== '全ての Book を保存しないで閉じる '最後に Excel も終了する Sub excel_Quit() Dim w As Workbook '全ての Book を保存したことにする (保存はしない) For Each w In Workbooks w.Saved = True Next 'Excel を終了する Application.Quit 'Book を閉じる ThisWorkbook.Close False End Sub ============================== Sub チェンジプリンター() '印刷切り替え処理 If Worksheets("DeviceRead-Write").Cells(6, 13).Value = 1 Then 'I6 が1ならEPSON_Aに印刷する(D10000上位2ビットが1) プリンターA出力 ElseIf Worksheets("DeviceRead-Write").Cells(6, 13).Value = 2 Then 'I6 が1ならEPSON_Bに印刷する(D10000上位2ビットが2) プリンターB出力 Else DoEvents End If End Sub Sub プリンターA出力(): 'プリンターAに印刷 Application.ActivePrinter = "EPSON_A on Ne01:" 'プリンターAを指定 Worksheets("form").PrintOut 'シートFormの印刷 Exit Sub End Sub Sub プリンターB出力(): 'プリンターBに印刷 Application.ActivePrinter = "EPSON_B on Ne00:" 'プリンターBを指定 Worksheets("form").PrintOut 'シートFormの印刷 Exit Sub End Sub

  • 【Excel VBA】マクロでExcel自体を終了させたい

    環境:WindowsXP、Excel2003 マクロでエクセルを終了(ブックを閉じて、アプリケーション自体も終了)させたいのですが、以下のコードではアプリケーションが閉じてくれません。 ThisWorkbook.Close ExcObj.Quit Application.Quit どこか悪いところはありますでしょうか? よろしくお願いします。

  • Excelのマクロに関して

    初心者的質問で申し訳ないのですが、 Officeを97から2000に上げたところ、 自分で作ったExcelファイルに対して、 「c:\ファイル名.xlsはマクロを含んでいます。     (略)  【マクロを無効にする】【マクロを有効にする】」 と言ったようなダイアログが出るようになってしまいました。 自分で作ったファイルですのでマクロを使っていない事は断言できます。 ウイルスソフトは最新のものを入れているので、ウイルスに感染もしていません。 実際、ツールからマクロを実行しても、何も表示されません。 他の質問を見ていたときに「日付」等を入れると このダイアログが開くようになると読んだのですが、 他にどのような関数を使ったときにこのダイアログが開くようになるのでしょうか。 また、マクロのセキュリティを変える事無く ダイアログを開かなくする事は可能でしょうか? アドバイスの程、宜しくお願い致します。

  • 【エクセル】マクロをちゃんと終了したのに・・。

    じだいどりーむです。 助けてください。(><) 仕事でこのパソコンを使っています。 win-XPです。office EXCEL2003 です。 うまく説明できないのですが、 業務の中にエクセルのマクロを開くことがあります。 マクロを開いた後は、ちゃんと正常に終了ボタンから終了してる のに、、、普通のエクセル(マクロが組んでないもの)を開くと 画面上部のツールバーというか、[印刷][保存]みたいなボタンが 出てきません。超困っています。 なので、、、予めマクロを開いて、すぐ終了して(そうすると ツールバーが表示される)そこからお目当てのファイルを開いて います。 マクロ以外はツールバーを出す いい方法はありませんでしょうか? 過去の質問をいろいろ見たのですが、VBA(?)で試しても [ファイル][編集]とかしかでてこなくて、右クリックしても 用事は足りませんでした。

  • Excelのマクロについて

    マクロ超初心者のものです。 Sub 印刷() Worksheets("縦背表紙").PrintOUT End Sub 上記のような、マクロを使い印刷をしているのですが、なぜか違うプリンタをを使用しているPCに、このマクロの入っているExcel実行すると書式が変更され当初設定した1枚の用紙に印刷されません。 ここで質問なのですが、各種プリンタを使用したPCどれでも対応できるようなページ設定を固定できるようなマクロを上記のマクロに挿入したのですが可能なものでしょうか? ちなみに、当初設定したページ設定は、ページの拡大縮小印刷が70%、余白が上0.5、下0.5、左1.0、右2.0、ヘッダー0.8、フッター0.8で設定しました。 乱文で申し訳ありませんが、超初心者にアドバイス等よろしくお願いいたします。

  • Excelを使っているときだけ強制終了する

    Windows10上でExcel2013を使っていますが、このアプリケーションを使っているときだけ頻繁に強制終了します。(Wordを使っているときは強制終了しません。)Microsoft Officeを再インストールしましたが駄目でした。対処法を教えてください。

  • <EXCELでマクロを使って連続で印刷しようとすると2枚目でエラーにな

    <EXCELでマクロを使って連続で印刷しようとすると2枚目でエラーになる。> EXCELでマクロを使って連続で印刷しようとしています。 1枚目は良いのですが、2枚目でエラーになってしまいます。 EXCEL自体が落ちてしまいます。 エラー400やエラー10004が出たりします。 アプリケーション定義や オブジェクト定義のエラーとも出ます。 マクロは次のようなものです。 Sub test() For i = 1 To 5 .Cells(2, 34).Value = i ActiveSheet.PrintOut Next i End Sub Cells(2, 34)に数字を入れてVLOOKUPでデータを差し込みます。 どんな問題があるでしょうか? 宜しくお願いいたします。 なお、EXCELはEXCEL2002です。

  • Excelが強制終了になってしまうのですが‥

    もし以下の原因、あるいはどこに問い合わせればよいかご存知でしたらお教えください。 ・Excel97で特定のファイルを開くとき、強制終了される ・Access97でエキスポートして作成したExcel97のファイルが「マクロが含まれています」というメッセージが表示される ・Office2000でExcelが強制終了が出て開けない。また、アンインストールしてインストールしなおしても現象がなおらない Excel97の特定のシートを開こうとすると「メモリ不足です」というメッセージが表示され、印刷しようとしても、新規作成したファイルにコピーペーストしようとしても強制終了になります(複数台のPCにて。OSはWin98SE/ME)。 どうしても印刷したいので、Access97でテーブルとしてインポートし、再度excel97のファイルとしてエクスポートしました。 エクスポートしたファイルを開こうとすると「マクロが含まれています」というメッセージが表示されます。「マクロを無効」にチェックを入れ、開こうとすると、「このブックにはマクロ(Microsoft excel4.0macro)が含まれています。安全だとわかっている場合ははいをクリックして開いてください」と、もう一度メッセージが表示されます。不安なので開きませんでした。 PCはNorton2001の最新のウィルス定義を使用し、HDD全体のウィルススキャンをしましたが、ウィルスは検出されません。シマンテック社さんに分析を依頼しましたが、悪意のあるコードは見つからなかったとのことです。 また、このファイルが原因かわかりませんが、office2000をインストールした複数台のPCでexcelが起動できなくなりました。アンインストールしてインストールしなおしてもやはり強制終了になります。 Accessのテーブルの状態で全ての列を選択してコピーし、Excelにペーストすると問題なくデータが表示・印刷できるのですが、なにぶん気持ちが悪いです。

  • EXCELについての質問です。

    お世話になります。 現在エクセルに「入力」,「報告書」,「報告書2」の3枚のシートを置き,「入力」シート上のボタンに以下のマクロを登録しています。 Sub 報告書印刷() Application.ScreenUpdating = False Msg = MsgBox("報告書を印刷します。", vbOKCancel) If Msg = vbCancel Then Exit Sub End If Worksheets("報告書").Visible = True Worksheets("報告書").Select Worksheets("報告書").Range("J10").Value = 1 Application.Calculate Worksheets("報告書").PrintOut Worksheets("報告書").Visible = False Worksheets("入力").Select End Sub ボタンをクリックすることにより,報告書は印刷できますが,それに加えて, もし,「入力」シートのセルA1が空白ではない場合(※何らかの文字が入力されている場合)には,「報告書2」シートも印刷される・・ というような条件を付加した構文にしたいと考えております。 知識不足のためかなり背伸びをした質問をしていますが,どなたかご教示いただければ幸いです。 どうかよろしくお願いいたします。

専門家に質問してみよう