Broken examples

norseman norseman at hughes.net
Mon Aug 11 20:36:06 EDT 2008


Tim;
	Finally got a chance to test your snippet. Thank you for it!

I took the liberty of flushing it out a bit.
================
#!/---
#
import os
import win32com.client

excel = win32com.client.Dispatch( 'Excel.Application' )
excel.Visible=1                # shows the spreadsheet (can be handy)
xlCSV = 6
                                # substitute for list generation
list = ["c:\\temp\\test.xls", "c:\\temp\\test1.xls"]

for nm in list:
   csv = os.path.splitext( nm )[0] + '.csv'
   print "Procesing file:", csv
   if os.path.exists(csv):      # window$ won't auto overwrite
     os.unlink(csv)
   wb = excel.Workbooks.Open( nm )
   wb.SaveAs( csv, xlCSV )
   print wb.Close()             # requires manual verification
                                #  eliminating unattended runs

#wb.Exit()  & wb.Quit()        # generate ERROR(s) - no such thing(s)
                                #  leaving Excel open

excel.Visible=0                # actually closes Excel if no sheet open
                                #  verified via task manager

print "Check to see if this worked."

#                              end of file
=================
The above does in fact work.
Using the above I have a few questions.
Documentation on xlCSV                      came from where?
       "       on .Workbooks.Open(file.xls)  came from ???
       "       on .SaveAs( filename, xlCSV ) came from ???
       "       on .Close()                   came from ???
Tell me about the lack of the .Exit() and/or .Quit(), please.
I ran out of time today. Is it possible to send something like an 
<enter> keystroke to a Window (<yes><no>) box if it accepts same from 
actual keyboard?  May not work anyway since .Close() hangs (in 
interactive) awaiting it's answer.

Tim - thank you again!  At least this works well enough that a clerk can 
press <enter> until the thing runs out of material. :)  Just press and 
hold the <enter> key until the buffer overflow beeps and go do some 
filing and when the screen 'stops' do it again...  Eliminates typos.


Thank you.

Steve
norseman at hughes.net



More information about the Python-list mailing list