Movatterモバイル変換


[0]ホーム

URL:


win32com_garbage collection, another QTN

zzzzzzzizz_ at notmail.com
Mon Apr 23 02:26:09 EDT 2001


On Mon, 23 Apr 2001 02:12:56 GMT, Mark Hammond <MarkH at ActiveState.com>wrote:>zzzzz wrote:>...>>> My problem is excel, and getting it to close properly:>>>> --------------------------------------------------------->> import win32com.client>>>> state=win32com.client.Dispatch("Excel.application")>> state.Workbooks.Open("G:\\MH_State_Flow_7.xls")>> state.Visible=1>>>>>What goes in here is suspect :)>>>> ## read stuff from excel worksheet without modifying file>>>> state.Visible=0>> state.Quit()   # This is what was suggested to the previous QTN>> del state>> ---------------------------------------------------------->>>> According to what I've read, this sequence of quit commands should>> close excel (even without the .Quit command). To all appearances this>> is true, however, when I look at the task manager (I'm using NT4.0sp6)>> good old excel.exe is still running. The only way to close it cleanly>> (that I know of) is to close the interpreter.>>>  There is a good chance you still have a COM reference left alive.>Check what pythoncom._GetInterfaceCount() returns, and if non-zero you>have another reference - probably the document or worksheet object.>>Mark.Thanks Mark,You don't get author's responding directly to questions in many NGs :)I'm just getting a handle (pun unintended) on win32com at the moment,I'll check out your suggestion.As for the code I call up:x = state.Range("a2:c2").Value and more of the like.I did notice that after the post that >> state.Workbooks.Open("G:\\MH_State_Flow_7.xls")returns an workbook object by entering it on the interactive window,maybe I need to capture this and close it first. I think"pythoncom._GetInterfaceCount()" might be very useful for debuggingthis sort of this.Regards,zzzzz.---------------------


More information about the Python-listmailing list

[8]ページ先頭

©2009-2025 Movatter.jp