如何只关闭一个特定的 Excel 工作簿?

Posted

技术标签:

【中文标题】如何只关闭一个特定的 Excel 工作簿?【英文标题】:How do I close only one specific Excel workbook? 【发布时间】:2017-05-11 17:18:17 【问题描述】:

我有两个打开的工作簿。工作簿是手动打开的,而不是在 COM 中!所以我还没有要关闭的现有对象。 Workbooks.Open 对此无能为力,并给我一个错误。如何关闭鼠标手动打开的python中的特定工作簿?

from win32com.client import Dispatch
excel = Dispatch("Excel.Application")
excel.Visible = False

excel.DisplayAlerts = False

excel.Workbooks('1.xlsx').Close()
excel.Quit()

【问题讨论】:

【参考方案1】:

发现 this VBA stuff 和 Python 绑定非常相似:

from win32com.client import Dispatch

xl = Dispatch('Excel.Application')
xl.Workbooks("FILENAME.EXT").Close(SaveChanges=True)

这在 Python 3.6 中完全适合我,只是想我会把它留给其他通过 Google 偶然发现的人。

【讨论】:

以上是关于如何只关闭一个特定的 Excel 工作簿?的主要内容,如果未能解决你的问题,请参考以下文章

如何关闭空白 Excel 工作簿和宏工作簿?

如何根据当前日期使用 python Pandas 从 Excel 工作表加载特定工作簿

如何在不提示保存的情况下使用 Windows“X”关闭 Excel 工作簿

找不到自定义程序集时如何立即关闭/关闭 Excel VSTO 工作簿

如何使用Aspose加速工作簿创建?

使用 Python(和 DataNitro)将单元格从一个 Excel 工作簿中的特定工作表复制到另一个 Excel 工作簿中的特定工作表