Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
Excelを終了(ウインドウ閉)させるコード
投稿日時: 19/11/07 14:33:43
投稿者: Yoasn_3218

処理終了の最後に、Excelを終了(終了、ウインドウ閉)させたいのですが
 
Sub()コードの最後に
 
 Application.Quit
 ThisWorkbook.Close
 
End Sub
 
のように記述しましたが、
Sheetは閉じますが、Bookウインドウは残ったままになっています。
 
さらに、MsgBoxで”Excelを終了します”と数秒表示させてからExcelを閉じさせる
にはApplication・Quitの次行にタイマー(?)のコードを書けば良いのでしょうか?
 
まだ初心者レベルです。
ご教示お願いします。

回答
投稿日時: 19/11/07 14:59:09
投稿者: WinArrow
投稿者のウェブサイトに移動

>Application.Quit
の前に
Thisworkbook.Saved = True
を入れてみましょう。
 

投稿日時: 19/11/07 15:19:52
投稿者: Yoasn_3218

Thisworkbook.Saved = True
 
を入れて実行しましたが、
シート表示は何もないExcelのウインドウは開いたまま残ったままです。
 
このコードのいう”Excelを終了する”の定義はこの状態のことでしょうか。
(ここでウインドウ右上隅の×で閉じれば良い)
 
この状態なら、最後に
 ”処理が完了しました” とでもメッセージ表示させようかとも。
 

回答
投稿日時: 19/11/07 15:45:41
投稿者: WinArrow
投稿者のウェブサイトに移動

説明されていない
コードの中に問題があるのではないでしょうか?
 
こちらのテストコードでは、なんの問題もありません。
 
シートの図形を作成し、マウロを登録しました。
 
マクロの内容
Sub 円楕円1_Click()
    Application.Quit
End Sub
 
 
一旦、名前を付けて保zンします。
その後、図形をクリックします。
 

投稿日時: 19/11/07 15:54:23
投稿者: Yoasn_3218

このコードの直前にテンプレートとして開いていたBookを閉じるコードを置いています。
 (Workbooks(テンプレート保存のファイル名).Close これがNGの原因?)
 
一度、最初の行からコードを眺めなおし、ロジックも正しいか再検証してみたいと思います。
その上でわからなくなったらまたここで質問させて頂きます。
 
ひとまず、ありがとうございました。