Bernard Kenik wrote: > > Use appl.Quit not appl.quit > > make sure your workbooks are closed prior to quitting. > > I use this code snippet to open the excel application > > begin > excel = WIN32OLE.connect("excel.application") > rescue > excel = WIN32OLE.new("excel.application") > end > > Thus I connect to a running Excel instance or start a new instance. Hi Bernard. Why use appl.Quit and not appl.quit? Observations have shown that they both work just fine, and all of the Excel DOM collections, objects, properties, methods and enumerations are handled in a case insensitive manner. Is it to distinguish between possible future additions to the script my programmers other than myself that might add a #quit method and/or due to the #missing_method paradign that WIN32OLE uses? Doesn't using capital letters for method names go against the ruby syntax rules for naming conventions? Is it a holdover from VBA? Does your recommendation apply to the other Excel DOM methods, properties (etc) as well? I've worked out a workflow that does not involve using quit (see above), but I am closing my workbooks. Thanks. Good idea on the "connect". And, finally, to learn the methods of a class, like WIN32OLE, I would typically go interactive (IRB or such) and issue a WIN32OLE.methods - Object.methods to get a list of the methods specific to WIN32OLE. I see connect, and a few others: ["codepage", "codepage=", "connect", "const_load", "ole_free", "ole_reference_count", "ole_show_help"] Where does one get doc on these methods? And, obviously missing here is #new, but that's due to my (probably flawed) process of getting method names, since one can Object.new too. Todd -- Posted via http://www.ruby-forum.com/.