• ベストアンサー

EXCEL VBA で終了出来ますか?

いつもお世話になります。 OfficeXPを使用しています。 EXCELのVBAでファイルを開き、定型処理をさせているのですが、定型処理完了後にEXCELを終了させたいと思っています。しかしEXCELの終了マクロをうまく作ることが出来ません。(終了時のメッセージを出さないようにしたいです) ActiveWorkbook("test.xls").Closeで終了させようとしたのですが、「test.xlsを保存しますか」というメッセージが出てきてしまいます。メッセージを出さずになおかつ保存せずに終了させたいのですが、何方か良い方法を教えて頂けないでしょうか?

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

  • ベストアンサー
  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.4

No.2ですが、ちょっと簡単過ぎましたので、補足です。 Application.DisplayAlerts = False Workbooks("test.xls").Close savechanges:=True Application.DisplayAlerts = True 一応、この後のコードが分かりませんので DisplayAlerts = True と戻しています。 なお、Excel自体を終了するのであれば、 Application.Quit 

huku-huku
質問者

お礼

ご回答ありがとうございます。 体調不良のため、早々に退社しましたので自宅のPCで間単にチェックしたところ上手くいきそうでした。 明日、実際のファイルで確認してみようと思います。 とても親切に説明して頂き感謝いたします。 どうもありがとうございました。

その他の回答 (4)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.5

あっ、ごめんなさい。「保存しないで」ですから savechanges:=False でした。

  • sacoman
  • ベストアンサー率56% (33/58)
回答No.3

close メソッドではEXCELを終了させることはできません。 ワークブックを閉じるだけです。ワークブックを閉じる だけなら、#1さんが回答されているように、FALSEオプションを 入れておけば、保存せずに閉じることができます。 EXCELを終了するには、quitメソッドを使います。 完全に開いているワークブックを保存せず、確認メッセージも表示 させずにEXCELを終了させるのであれば、以下のような感じになります。 Sub sample()   Application.DisplayAlerts = False   Application.Quit End Sub

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

その手前に Application.DisplayAlerts = False を記述してみたら如何でしょうか?

huku-huku
質問者

お礼

ご回答ありがとうございます。 体調不良のため、早々に退社しましたので自宅のPCで間単にチェックしたところ上手くいきそうでした。 明日、実際のファイルで確認してみようと思います。 どうもありがとうございました。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

Close メソッドに限りませんが、どのメソッドを使えばよいのか当たりがついているのなら、この手のところで質問するよりもヘルプを読んだ方がさっさと解決します。先にヘルプを読む癖をつけましょう。 以下ヘルプから抜粋です。 --- ・Workbook オブジェクトに指定した場合 expression.Close(SaveChanges, Filename, RouteWorkbook) SaveChanges 省略可能です。バリアント型 値:動作 True:ブックの変更を保存します。ブックにファイル名が付けられていない場合は、引数 FileName を使ってファイル名を指定します。引数 FileName を省略すると、ファイル名の入力を促すダイアログ ボックスが表示されます。 False:ファイルの変更を保存しません。 省略:変更したファイルを保存するかどうかを確認するダイアログ ボックスが表示されます。 --- ということでこれで解決です。 ActiveWorkbook.Close(False)

huku-huku
質問者

お礼

ご回答ありがとうございます。 おっしゃるように事前にヘルプは確認したのですが、ブックを閉じる場合のヘルプはあったのですが、エクセルを終了させるヘルプが探せませんでした。 こちらの意図した回答とは違いましたが、丁寧に回答いただき感謝いたします。

関連するQ&A