使用win32com与Excel交互:
import win32com.client
...
self.excel = win32com.client.gencache.EnsureDispatch("Excel.Application")
self.workbook = self.excel.Workbooks.Add()
#Modify the workbook...
self.workbook.SaveAs(...)
self.excel.Quit()
这很好地工作,只要在脚本启动之前没有Excel实例正在运行,就可以在后台(无头模式)生成一个新的Excel文档。在
但是,如果用户已经打开了Excel,则Python脚本创建的Excel实例将可见。我怎样才能防止这种情况发生?更糟糕的是,当用户在两个Excel实例中的任何一个执行任何操作(如单击单元格),脚本将失败:
^{pr2}$有没有一种方法可以强制使用headless模式,特别是防止用户在GUI中的操作与正在运行的Python脚本发生冲突?换句话说,我希望脚本创建的Excel实例完全独立于可能正在进行的任何其他Excel活动。在
按照以下答案所述实例化Excel时,问题消失了: https://stackoverflow.com/a/36711595/4721381
相关问题 更多 >
编程相关推荐