何时在VBA中使用Workbooks.Close?

时间:2017-06-16 17:54:43

标签: excel vba excel-vba

看起来像Workbooks.Close之后的任何代码都不会被执行(仅仅因为所有工作簿都已关闭)。但什么时候需要将这些代码放在他的程序结束?

1 个答案:

答案 0 :(得分:4)

Workbooks.Close关闭所有打开的工作簿。它不会关闭Excel应用程序。

如果未保存任何一个打开的工作簿,那么当您尝试使用Workbooks.Close时会出现提示

  

换句话说,我怎样才能关闭空白的灰色Excel窗口?@MátéJuhász - Nicholas 3分钟前

实际上非常简单。遍历所有打开的工作簿并保存它们,然后只需退出应用程序,而不是关闭工作簿。工作簿将自动关闭,应用程序也将自动关闭。这是一个例子

Sub Sample()
    Dim wb As Workbook

    For Each wb In Workbooks
        wb.Save
        DoEvents
    Next wb

    Application.Quit
End Sub
  

但是在运行之后你仍然可以看到空白的灰色excel应用程序。这与手动关闭工作簿并不完全相同。谁想要呢?@MátéJuhász - Nicholas 10分钟前

嗯,我肯定会想要它。我通常打开4到5本工作簿。我想打开第6个,但不希望其他5个打开,所以我使用Workbooks.Close。这样就关闭了不需要的工作簿,我仍然可以打开应用程序打开新工作簿。

Workbooks.Close的美妙之处在于您也可以从立即窗口运行此命令:)