【问题标题】:win32com: work with excel file by opening it in backgroundwin32com:通过在后台打开 excel 文件来处理它
【发布时间】:2019-03-05 06:46:14
【问题描述】:

所以我使用以下代码打开现有的 excel 文件。即使我使 False 可见,但这总是会打开 excel 文件 UI。但是我想在后台运行它。我该怎么做?

import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open('my_sheet.xlsm')
excel.Visible = False

【问题讨论】:

    标签: python pywin32 win32com


    【解决方案1】:

    我现在使用 MS Excel 的替代金山电子表格之一。我下面的 sn-p 用于在后台运行应用程序。

    from win32com import client
    
    xApp = None
    for aname in ('Excel', 'eT', 'KeT'):
        try:
            xApp = client.Dispatch(aname + '.Application')
        except client.pywintypes.com_error:
            continue
        else:
            break
    if xApp is None:
        print('No app found')
        raise SystemExit    # Application is unavailable.
    else:
        # do something
        wb = excel.Workbooks.Open('my_sheet.xlsm')
    

    在旧版本的 MS Excel(2013 年之前)和 KS 电子表格(2014 年之前)上,即使没有将 xApp.Visible 显式设置为 False,上述代码也可以正常工作。但是,在最新版本的电子表格中,它会在退出应用程序时启动一个小的 UI 窗口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多