python关闭excel进程_python win32com关闭Excel进程

在尝试通过Python的win32com模块操作Excel文件时,遇到Excel进程无法完全关闭的问题,导致'Excel.Application.Visible'属性设置出错。文中描述了在循环中使用XlsClass类时,尽管调用了Quit()方法,Excel进程仍残留在任务管理器中。作者分享了错误追踪信息并寻求解决方案。
摘要由CSDN通过智能技术生成

试图通过python改变Excel_sheet,并完全混淆进程恢复。python win32com关闭Excel进程

import win32com.client

class XlsClass:

def __init__(self ,filename=None ,*,Visible=False ,Alerts=False):

self.xlApp = win32com.client.Dispatch('Excel.Application')

self.xlApp.Visible = Visible

self.xlApp.DisplayAlerts = Alerts

if filename:

self.filename = filename

self.xlBook = self.xlApp.Workbooks.Open(filename)

else:

self.xlBook = self.xlApp.Workbooks.Add()

self.filename = ''

def __del__(self):

self.xlBook.Close()

self.xlApp.Quit()

有时代码工作很好,但有时Python会引发错误 就像“self.xlApp.Visible不能进行设置?”。 这总是在一个循环中发生的就像:

for fname in filelist:

xlbook = XlsClass(fname)

#do something

然后我就检查了我的“windowstasksmanager”和注意

xlbook = Dispatch('Excel.Application')

西港岛线创建一个名为“EXCEL.EXE * 32”的过程。 当我输入'xlbook.Quit()'时,过程仍然存在!? 因为这个残留过程,所以可能是'不能设置'的错误? 当我把func'Dispatch'调用后,我该如何完全关闭它?

del xlbook

无法杀死进程,所以它是如何工作的?

英文不好,等待帮助....谢谢。

============================================== ==

2014年3月10日: 我赶上再次错误和捕捉追踪...

Traceback (most recent call last):

File "C:\work_daily\work_RecPy\__RecLib\XlsClass.py", line 9, in __init__

self.xlApp.Visible = Visible

File "C:\Program Files\python33\lib\site-packages\win32com\client\dynamic.py",

line 576, in __setattr__

raise AttributeError("Property '%s.%s' can not be set." % (self._username_,attr))

AttributeError: Property 'Excel.Application.Visible' can not be set.

我试图 del self.xlApp 或 xlbook = None 创建一个新的XlsClass(前),但似乎没有工作...

2014-03-07

Tpoy

+0

对不起,我会更新它,如果错误再次提高。 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值