[問題] VBA Application.Quit 無法執行

看板Office作者 (逆光)時間10年前 (2015/09/10 08:42), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
(若是和其他不同軟體互動之問題 請記得一併填寫) 軟體: Excel 版本: 2003 大家好,最近在自學VBA,想請問Application.Quit無法執行的原因? 1.原本只有如下,能夠正常執行退出Excel Private Sub Workbook_Open() Dim checkterm As Variant Dim boxmentionSentence As String boxmentionSentence = "Welcome to Template V2.0 !" & vbNewLine & vbNewLine & "Are you ready to enjoy it ?" _ & vbNewLine & "(If NO, close workbook and quit Excel)" checkterm = MsgBox(boxmentionSentence, vbYesNo + vbInformation, boxTitle) If checkterm = vbYes Then End If If checkterm = vbNo Then Application.DisplayAlerts = False ThisWorkbook.Saved = True Application.Quit End If End Sub 2.接著為了達到「停用巨集則關閉活頁簿」,google找了如下的方法 i. 新增 Excel 4.0 巨集表 Macro1,輸入以下 停用巨集則關閉活頁簿 =ERROR(FALSE) ←這個Cell為Macro1!$A$2 =IF(ERROR.TYPE(RUN("TestMacro"))=4) = ALERT("因停用了巨集功能,檔案將被關閉!",3) = FILE.CLOSE(FALSE) =END.IF() =RETURN ii.在工作表「插入」→「名稱」→「定義」Auto_Activate,指向 Macro1!$A$2 開啟檔案後,選擇「停用巨集」,確實彈出Msgbox並且能夠關閉活頁簿。 ----------------------------------------------------------------------- 重新開啟檔案,啟用巨集,在測試1.的時候,選擇「否」,但是Excel沒有退出, VBA也沒有彈出錯誤訊息,所以我想是 Application.DisplayAlerts = False 有作用?! 檢查發現 Saved 是 False, 所以我想是以下兩行沒有執行作用, ThisWorkbook.Saved = True Application.Quit 而後我試著刪掉 Macro1 ,1.選否就又會退出 Excel了, 想請問該如何改才能讓1.與2.順利執行? 謝謝各位的幫忙! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.46.80 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1441845764.A.035.htmlLagrange:轉錄至看板 Visual_Basic 09/10 08:58

09/10 10:57, , 1F
那將application.quit改為workbooks.close試試
09/10 10:57, 1F

09/10 11:46, , 2F
關閉活頁簿可以,但是我要退出Excel
09/10 11:46, 2F

09/10 11:52, , 3F
那在application.quit前加上workbooks.close試試
09/10 11:52, 3F

09/10 11:53, , 4F
好像也是一樣的^^抱歉上面回文忽略
09/10 11:53, 4F

09/10 11:56, , 5F
測試如果是在application.quit後加上workbooks.close則是
09/10 11:56, 5F

09/10 11:56, , 6F
可行
09/10 11:56, 6F

09/10 12:23, , 7F
可以耶~但是為什麼呢?想不通~
09/10 12:23, 7F
文章代碼(AID): #1LyD840r (Office)
文章代碼(AID): #1LyD840r (Office)