【问题标题】:Create new Excel process with COM (pywin32)使用 COM (pywin32) 创建新的 Excel 进程
【发布时间】:2013-10-19 06:08:41
【问题描述】:

我正在尝试使用 COM / pywin32 创建一个与当前运行的不同的自治且不可见的 Excel 进程。

如果我在 Excel 窗口已经打开时使用下面的代码,它将使前者不可见。我想这是因为它只是访问同一个进程。

from win32com.client import Dispatch
excel =  Dispatch('Excel.Application')
excel.Visible = False
excel.WorkBooks.Open('C:/someFile.xls')

之所以需要这个,是因为我想在后台抓取不同的 Excel 文件而不影响当前工作。另外,我不知道如何只关闭其中一个进程。

如果您要推荐一个新库,我也想知道如何在 COM 中处理这个问题。

【问题讨论】:

    标签: python excel com pywin32 win32com


    【解决方案1】:
    excel = win32.DispatchEx('Excel.Application')
    

    如果您想操作 excel 文件,请尝试

    【讨论】:

    • 工作就像一个魅力!谢谢。
    • 关于 DispatchEx 的小警告:虽然这确实创建了一个新的 Excel 进程,但它并不能保证该进程保持隔离状态。例如:如果您通过 windows 资源管理器打开一个 excel 文件,它仍然有可能重用您使用 DispatchEx 打开的进程。 AFAIK,没有真正的方法可以防止这种情况发生。
    猜你喜欢
    • 2021-05-24
    • 2013-10-20
    • 2022-09-27
    • 2020-07-27
    • 2020-06-17
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    相关资源
    最近更新 更多