python - 如何关闭通过win32在python中打开的Excel实例?
问题描述
我需要打开 Excel 工作表,刷新数据透视表,保存并关闭它。但是,每当我使用 python 打开 Excel 实例时,无论我多么努力,它都会保持打开状态。我还想使用一个已经运行的实例,如果有可用的,如果没有,创建一个。最后,如果有一个实例正在运行,只需关闭工作簿,否则,关闭 Excel。
这是代码。它完成了应该做的事情,但是 Excel 进程仍然在后台运行。我什至可以打电话Application.Visible = True
,它会再次弹出。
import pywintypes
import pythoncom
from win32com import client
pythoncom.CoInitialize()
try:
Application = client.GetActiveObject("Excel.Application")
Application.Visible = True
except pywintypes.com_error:
Application = client.Dispatch("Excel.Application")
Application.Visible = False
Workbook = Application.Workbooks.open('file_name.xlsx'))
Workbook.RefreshAll()
Workbook.Save()
if len(Application.Workbooks) == 1: # If there is only one workbook, close Excel
Application.Quit()
else:
Workbook.Close()
pythoncom.CoUninitialize()
解决方案
推荐阅读
- php - 尽管政策允许我的站点引荐来源网址,但 S3 存储桶上的 copyObject 访问被拒绝
- javascript - 如何设置点以下的所有值( TileMap 像数组)
- wordpress - 如何设置登录页面以在 wordpress 中查看网站?
- html - 如何用中间的单词填空?
- java - 为什么我的 StringUtils 类没有 isBlank()
- html - 如何定位基于 *ngIf 条件加载的模板中的元素
- python - PyTorch 1.0 在 Python3.7 中加载 VGGFace2 权重
- javascript - 自动加载全屏模式
- firebase - 以高效的方式在 Firestore 中存储和查询帖子
- c++ - 创建线程向量