作者Lagrange (逆光)
看板Visual_Basic
标题[VBA] Application.Quit 无法执行
时间Thu Sep 10 08:58:44 2015
大家好,最近在自学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://webptt.com/cn.aspx?n=bbs/Office/M.1441845764.A.035.html
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: Lagrange (36.224.46.80), 09/10/2015 08:58:45
※ 编辑: Lagrange (36.224.46.80), 09/10/2015 08:59:54
1F:→ MOONRAKER: 这边看一看 09/11 11:41
3F:→ MOONRAKER: Excel 4.0 macro早就死到变化石了,不要再写那种东东。 09/11 11:43
4F:→ Lagrange: 感谢 09/13 19:28