【发布时间】:2014-08-01 18:42:10
【问题描述】:
我有 2 个 Excel 工作簿,一个包含宏,另一个工作簿调用宏工作簿。
在主工作簿打开事件中,宏工作簿将在同一个应用程序实例中打开,当工作簿关闭时,我正在关闭宏工作簿,然后我写了 Appication.Quit,但这里的问题是在关闭宏工作簿后一个空白 excel remians 打开。
如何通过VBA关闭空白工作簿?
顺便说一句,我在 Office 2007 和 2010 中遇到此问题,仅在 2013 年没有空白 excel。
下面是Macro.xlsm-Module1中的代码
Public Sub Test()
MsgBox "Test"
End Sub
Public Sub Auto_Close()
ThisWorkbook.Saved = True
End Sub
下面是Test.xlsm - Thisworkbook中的代码
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.Workbooks("Macro.xlsm").Close
Module1.CodeFileClose
End Sub
Private Sub Workbook_Open()
Module1.CodeFileOpen
End Sub
下面是Test.xlsm - Module1中的代码
Public Sub CodeFileOpen()
Application.Workbooks.Open ("C:\Macro.xlsm")
Application.Run "Macro.xlsm!Test"
End Sub
Public Sub CodeFileClose()
MsgBox "Before Close"
Application.Quit
End Sub
【问题讨论】:
-
测试这个。您打算手动关闭宏书还是应该通过宏测试例程来关闭它?
-
我将只关闭 Test.xlsm 并且宏工作簿将通过 Sub 关闭