From itamarst@yahoo.com Sun Jan 6 15:22:40 2002 From: itamarst@yahoo.com (Itamar S.-T.) Date: Sun, 6 Jan 2002 07:22:40 -0800 (PST) Subject: [python-win32] win32 based event loop Message-ID: <20020106152240.18390.qmail@web13006.mail.yahoo.com> Hi, As part of getting Twisted (http://www.twistedmatrix.com) to fully integrate with the win32 platform, I'd like to have a win32 native API based event loop, to replace the current select() based loop. Twisted already does Jython, wxPython, Tkinter, GTK+ and poll(), so I figure it shouldn't be too hard :) However, as I am not familiar with the relevant APIs, I was wondering if someone here could give a simple example of a win32event event loop that accepts Python sockets -- something equivalent to asyncore, say. Thanks in advance. ===== Itamar Shtull-Trauring, itamar(at)shtull-trauring.org __________________________________________________ Do You Yahoo!? Send FREE video emails in Yahoo! Mail! http://promo.yahoo.com/videomail/ From jos@trapeze.com Mon Jan 7 22:38:00 2002 From: jos@trapeze.com (Jos Yule) Date: Mon, 7 Jan 2002 17:38:00 -0500 Subject: [python-win32] get file owner and FindFirstChangeNotification Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello all! First question: I was reading the archives and found a thread [1] dealing with using the win32security module to find a files owner. However it seemed that the process as described in the thread and at msdn does not work as advertised. I tried out the example code [2] and got similar results (same pyHandle for all the files). I was also intrigued by Emile van Sebille's example of using os.popen("dir /q hack.py") [3]... I've been unable to get this to work as described... Basically, i'm wondering if anybody has been able to determine who 'owns' a file on NT/2K. The info i'm looking for is also who last wrote/edited a file. I've been assuming that they are one in the same, but i could be wrong. Any help would be greatly appreciated! Second question: I'm using the FindFirstChangeNotification and WaitForMultipleObjects win32event methods. I'd like to know what is a 'reasonable' number of items to put into the FindFirstChangeNoticication list. Is every item you put into the list a thread? or rather is a thread spawned for each item in that list? Can i have 50 items? 100? 1000? I'd also like to know if it is possible (i'm pretty sure its not) to figure out what triggered the WaitForMultipleObjects... ie. I've set it to wait for the following: win32con.FILE_NOTIFY_CHANGE_LAST_WRITE win32con.FILE_NOTIFY_CHANGE_DIR_NAME win32con.FILE_NOTIFY_CHANGE_FILE_NAME Is it possible to get from the result of the WaitForMultipleObjects which one of these 'triggers' (? not even really sure what to call them) fired? Does this make any sense? If you've hung in this long, i might as well explain what i'm working on. Basically, i want a python script/app to watch a directory, and anytime any file or any change is made to any directory or file in that main directory, mirror it in a repository directory, appending some kind of version number to the file. This would allow for basic version control. Again, thanks for your time, hope folks that celebrate (north american) new years/christmas had a good one! (and i hope the rest of you that didn't had a good time too) jos [1] http://aspn.activestate.com/ASPN/Mail/Message/898077 [2] http://aspn.activestate.com/ASPN/Mail/Message/901227 [3] http://aspn.activestate.com/ASPN/Mail/Message/898155 Jos Yule Trapeze mailto:jos@trapeze.com http://trapeze.com phone:416 601 1999 x227 -----BEGIN PGP SIGNATURE----- Version: PGP 6.5.8 iQA/AwUBPDojSN4WdA43RP/AEQKL1QCfczIFsF54RIsEcVQ2/ZHMBX57VK0AoJ4D Me9VYsEBH3u0zGEyGGlbh9aV =rekl -----END PGP SIGNATURE----- From Lebkov@iso.debryansk.ru Thu Jan 10 11:02:16 2002 From: Lebkov@iso.debryansk.ru (Lebkov) Date: Thu, 10 Jan 2002 14:02:16 +0300 Subject: [python-win32] returning from pyCOM-Servers Message-ID: <31A9778A69C6D311BE8400500447A3F920138B@master.iso.debryansk.ru> Hello All, Can somebody explain to me, why Pythoncom puts value returned from COM-server's method into first BYREF argument when COM-client intends simply to ignore this value? Consider simple COM-server: class TestCom: _public_methods_ = ["test"] _reg_clsid_ = '{2af38090-05ac-11d6-9aad-0050da397eca}' _reg_progid_ = 'Python.SimpleServer' def test(self, n): return n*n And then call TestCom.test from VBScript: set x = CreateObject("Python.SimpleServer") n = 2 x.test n ' We do not want to store x anywhere, but after that call x will contain 4!! If we want to change the value of BYREF arguments, then we can do it explicitly: def test(self, n): return (n*n, 5) For what the implicit variant is necessary? I suppose, would be correctly to ignore value returned from test( or skip first element of a tuple (if value - tuple)) when pVarResult == NULL (in PyGatewayBase::Invoke), because: 1) Inside TestCom.test we do not know whether pVarResult is NULL and we can not change returned value depending on this condition 2) Other COM-clients can pass argument n BYVAL, for instance Javascript: o = new ActiveXObject("Python.SimpleServer"); var n = 2; o.test(n); n is still equal 2 because it was passed BYVAL. What you think of it? Thanks, -Victor From list@multios.net Tue Jan 15 19:46:45 2002 From: list@multios.net (Sven Henkel) Date: Tue, 15 Jan 2002 20:46:45 +0100 Subject: [python-win32] Domain PCs Message-ID: <001201c19dfd$5d438f80$0300010a@hs01> This is a multi-part message in MIME format. ------=_NextPart_000_000F_01C19E05.BEC32650 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi all, I want to list all registered workstations in a NT4 domain. But my = script shows only the active machines. How can I receive every server = manager entry? ... win32net.NetServerEnum(server,100,win32netcon.SV_TYPE_WORKSTATION,domain,= resume,win32netcon.MAX_PREFERRED_LENGTH) ... Thanks, Sven ------=_NextPart_000_000F_01C19E05.BEC32650 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi all,

I want to list all registered workstations in a NT4 = domain.=20 But my script shows only the active machines. How can I receive every = server=20 manager=20 entry?

...
win32net.NetServerEnum(server,100,win32netcon.SV_TYP= E_WORKSTATION,domain,resume,win32netcon.MAX_PREFERRED_LENGTH)
...
<= BR>
Thanks,
Sven
------=_NextPart_000_000F_01C19E05.BEC32650-- From jens.jorgensen@tallan.com Tue Jan 15 19:59:33 2002 From: jens.jorgensen@tallan.com (Jorgensen, Jens) Date: Tue, 15 Jan 2002 13:59:33 -0600 Subject: [python-win32] Domain PCs References: <001201c19dfd$5d438f80$0300010a@hs01> Message-ID: <3C448A25.2070709@tallan.com> NetServerEnum just finds computers on the network (as the name suggests). For enumerating hosts in a Domain you might be able to do something with the ADSI objects. Read about them in the MSDN Library for more info. Sven Henkel wrote: > Hi all, > > I want to list all registered workstations in a NT4 domain. But my > script shows only the active machines. How can I receive every server > manager entry? > > ... > win32net.NetServerEnum(server,100,win32netcon.SV_TYPE_WORKSTATION,domain,resume,win32netcon.MAX_PREFERRED_LENGTH) > ... > > > Thanks, > Sven > -- Jens B. Jorgensen jens.jorgensen@tallan.com From sakoosh@uark.edu Wed Jan 16 20:52:24 2002 From: sakoosh@uark.edu (Sayed A. Kooshesh) Date: Wed, 16 Jan 2002 14:52:24 -0600 Subject: [python-win32] Ms Access Message-ID: Hi, I just joined this list, and I was wondering if someone could point me in the direction of a good Access Com (python) webpage. I (through trial and error) have been able to connect to a database and do queries, but I am looking for how to change or alter data (in Access). Thanks -Ari From jens.jorgensen@tallan.com Wed Jan 16 21:46:39 2002 From: jens.jorgensen@tallan.com (Jorgensen, Jens) Date: Wed, 16 Jan 2002 15:46:39 -0600 Subject: [python-win32] Ms Access References: Message-ID: <3C45F4BF.1000503@tallan.com> Sayed, Welcome to the list. If you have got read access working then you have figured out how to manipulate COM objects in Python. Altering data should be just as easy as reading data. What difficulty are you having? Sayed A. Kooshesh wrote: >Hi, >I just joined this list, and I was wondering if someone could point me in >the direction of a good Access Com (python) webpage. I (through trial and >error) have been able to connect to a database and do queries, but I am >looking for how to change or alter data (in Access). > > >Thanks >-Ari > > >_______________________________________________ >Python-win32 mailing list >Python-win32@python.org >http://mail.python.org/mailman/listinfo/python-win32 > -- Jens B. Jorgensen jens.jorgensen@tallan.com From sakoosh@uark.edu Thu Jan 17 16:33:51 2002 From: sakoosh@uark.edu (Sayed A. Kooshesh) Date: Thu, 17 Jan 2002 10:33:51 -0600 Subject: [python-win32] Ms Access In-Reply-To: <3C45F4BF.1000503@tallan.com> Message-ID: Jens, Thanks for replying :) I was looking in particular on altering field names (or adding new ones) and data into the fields as well. I don't have any reference on this, so most of what I'm doing is guess work. As of right now, I'm just poking around so I can learn it, but I do have an upcoming project where this skill would be useful. :) Here is #CODE STARTS HERE #from win32com.client import gencache #gencache.EnsureModule('{00025E01-0000-0000-C000-000000000046}', 0, 5, 0) import win32com.client engine = win32com.client.Dispatch("DAO.DBEngine.36") db=engine.OpenDatabase("Z:/fquery.mdb") rs = db.OpenRecordset("fquery") fields = rs.Fields def cycle(rs): rs.MoveFirst() while(rs.EOF==0): for a in range(0,f.Count): print f.Item(a) rs.MoveNext() #END CODE -----Original Message----- From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] Sent: Wednesday, January 16, 2002 3:47 PM To: Sayed A. Kooshesh Cc: python-win32@python.org Subject: Re: [python-win32] Ms Access Sayed, Welcome to the list. If you have got read access working then you have figured out how to manipulate COM objects in Python. Altering data should be just as easy as reading data. What difficulty are you having? Sayed A. Kooshesh wrote: >Hi, >I just joined this list, and I was wondering if someone could point me in >the direction of a good Access Com (python) webpage. I (through trial and >error) have been able to connect to a database and do queries, but I am >looking for how to change or alter data (in Access). > > >Thanks >-Ari > > >_______________________________________________ >Python-win32 mailing list >Python-win32@python.org >http://mail.python.org/mailman/listinfo/python-win32 > -- Jens B. Jorgensen jens.jorgensen@tallan.com From mhammond@skippinet.com.au Fri Jan 18 05:10:18 2002 From: mhammond@skippinet.com.au (Mark Hammond) Date: Fri, 18 Jan 2002 16:10:18 +1100 Subject: [python-win32] Request for installation testers for new win32all builds. Message-ID: Hi all, I have made some new win32all builds available for **testing purposes only**. This is only going to this list, in an attempt to keep the number of respondents reasonable :) To cut a long story short, I currently lack a test machine. I have built and tested these new win32all builds on my development machine, but am unable to actually install and test these builds using a standard Python distribution. Note that if there are problems, I reserve the right to re-issue these same builds. However, if I get feedback that the builds do work, I will simply move them to the main downloads page and release the new HTML with references to these files. If I do need to re-issue any builds, I will post that information here. Please uninstall your existing win32all distribution, then download and install one of the following. Check that it seems to work OK for you, then mail me with the version you tried, and your success/failure. For Python 2.2 (3,599,369 bytes): http://starship.python.net/crew/mhammond/downloads/beta/win32all-146.exe For Python 2.1 (3,596,565 bytes): http://starship.python.net/crew/mhammond/downloads/beta/win32all-145.exe For Python 2.0 (3,596,248 bytes): http://starship.python.net/crew/mhammond/downloads/beta/win32all-144.exe For Python 1.5.2 (3,598,845 bytes): http://starship.python.net/crew/mhammond/downloads/beta/win32all-143.exe Thanks, Mark. From Matt.Agler@frontstep.com Fri Jan 18 17:08:04 2002 From: Matt.Agler@frontstep.com (Matt Agler) Date: Fri, 18 Jan 2002 12:08:04 -0500 Subject: [python-win32] help with ASP, COM and ODBC Message-ID: I'm working on a varient of this, where the SQL code returns closed result sets. declare @x int set @x = 1 select @x I want to get the result set from line 3 but line 2 returns a closed record set. So I check the State attribute, and if it's closed, I move on to the next RecordSet. The problem is that the object returned from NextRecordSet() doesn't know about the "State" attribute and so I get an exception (the original recordSet from the Execute works fine). In VB, this works. Any ideas? rs, recs_affected = db.Execute('select a, b, from xyz') try: while rs <> None and rs.State == 0: #skip closed recordSets (fails on second rs) rs = rs.NextRecordSet() while rs <> None and not rs.EOF : print 'a =', rs.Fields.Item(0).Value rs.MoveNext() except Exception, e: print e Thanks in advance (hope this isn't a stupid question), -Matt -------------------------- from win32com.client import Dispatch db = Dispatch('ADO.Connection') db.Open('Provider=blah;blah;blah') rs, recs_affected = db.Execute('select a, b, from xyz') while not rs.EOF : print 'a = %s, b = %s' % (rs.Fields.Item(0).Value, rs.Fields.Item(1).Value) rs.MoveNext() Mark Ainsworth wrote: > I'm sorry if this has been asked before but there is so much info out > there I don't know where to start looking. > > I've successfully set up an ODBC with IIS2 and can open it and close > it from a python scripted ASP page. Now this may seem dumb , but are > there any simple tutorials as to nowhow to access and use this data . > I've got a record set, but how can I get the data out. ObjRS[x] comes > back with "enumeration not allowed" errors. I can do objRS(x) with VB > though ! > > If it's documented somewhere then please just point me to the document. > > Thanks. > > *Mark Ainsworth* > > *Quality Manager* > > Sundance Multiprocessor Technology Ltd. > > Chiltern House, Waterside, Chesham, Bucks HP5 1PS > > Tel. +44 1494 793167 Fax. +44 1494 793168 > > MarkA@NO-SPAM.sundance.com http://www.sundance.com > From James.Alexander.McCarney@Cognicase.com Fri Jan 18 19:38:13 2002 From: James.Alexander.McCarney@Cognicase.com (McCarney, James Alexander) Date: Fri, 18 Jan 2002 14:38:13 -0500 Subject: [python-win32] Cannot find win32com installer for Py 2.2 Message-ID: <23FD7B1A77E8D211BCB900001D108C02018B2931@camelot> Hi Python Winners ;-) I run Python 2.2, and the last Python Win32 executable I see is for 2.1. I downloaded and sadly yes the installshield told me I couldn't do dat. ;-( Any idea when the next build comes out for Py 2.2, or failing that do I have to [gasp!] compile the source myself? I subscribe to the digest, so if any kind soul does answer could he/she/they cc me as well? Best regards! James Alexander McCarney, technical writer (450) 928-3386 x2262 Cognicase - M3i Systems, 1111 Saint-Charles Avenue West 11th Floor, East Tower, Longueuil, Quebec, J4K 5G4 Canada http://www.m3isystems.com mailto:James.Alexander.McCarney@Cognicase.com From Heath@unterlaw.com Fri Jan 18 22:38:01 2002 From: Heath@unterlaw.com (Heath Lang) Date: Fri, 18 Jan 2002 16:38:01 -0600 Subject: [python-win32] Newbie Access question Message-ID: <11AAC3C562ADD41197C40090273DFB9664B305@in-db.unterlaw.com> I recently started writing an interface to an Access table using Python. Everything is proceeding fine, but I'm having problems Autofilling an entry box. I was considering executing a sql command everytime the user entered a letter in the entrybox. And the SQL command would fill the subsequent menu. But there has to be an easier way. Any suggestions would be greatly appreciated. Thanks. From mhammond@skippinet.com.au Sun Jan 20 02:08:52 2002 From: mhammond@skippinet.com.au (Mark Hammond) Date: Sun, 20 Jan 2002 13:08:52 +1100 Subject: [python-win32] New Python for Windows extensions that fix privacy concerns Message-ID: Hi all, Due to the privacy concerns recently discussed in this newsgroup (see http://starship.python.net/crew/mhammond/win32/PrivacyProblem.html ) there are new builds of the Win32 extensions available for Pythons 1.5.2, 2.0, 2,1 and 2.2. These are all available at http://starship.python.net/crew/mhammond/win32/Downloads.html Thanks to all those who replied with their test results :) Mark. From mhammond@skippinet.com.au Sun Jan 20 02:02:18 2002 From: mhammond@skippinet.com.au (Mark Hammond) Date: Sun, 20 Jan 2002 13:02:18 +1100 Subject: [python-win32] New Python for Windows extensions that fix privacy concerns Message-ID: <3C4A252A.3020908@skippinet.com.au> Hi all, Due to the privacy concerns recently discussed in this newsgroup (see http://starship.python.net/crew/mhammond/win32/PrivacyProblem.html ) there are new builds of the Win32 extensions available for Pythons 1.5.2, 2.0, 2,1 and 2.2. These are all available at http://starship.python.net/crew/mhammond/win32/Downloads.html Mark. From jens.jorgensen@tallan.com Sun Jan 20 20:13:22 2002 From: jens.jorgensen@tallan.com (Jorgensen, Jens) Date: Sun, 20 Jan 2002 14:13:22 -0600 Subject: [python-win32] Newbie Access question References: <11AAC3C562ADD41197C40090273DFB9664B305@in-db.unterlaw.com> Message-ID: <3C4B24E2.1070201@tallan.com> Heath Lang wrote: >I recently started writing an interface to an Access table using Python. >Everything is proceeding fine, but I'm having problems Autofilling an entry >box. I was considering executing a sql command everytime the user entered a >letter in the entrybox. And the SQL command would fill the subsequent menu. >But there has to be an easier way. Any suggestions would be greatly >appreciated. Thanks. > >_______________________________________________ >Python-win32 mailing list >Python-win32@python.org >http://mail.python.org/mailman/listinfo/python-win32 > I don't think there really is an easier way. That is, there really isn't any magic to this kind of thing. What you probably want to do is preload the values for the column and then trap keystroke events as they are typed and match up to the typed characters. I'm sure running a query for each keystroke will be prohibitively expensive. -- Jens B. Jorgensen jens.jorgensen@tallan.com From Heath@unterlaw.com Mon Jan 21 18:35:28 2002 From: Heath@unterlaw.com (Heath Lang) Date: Mon, 21 Jan 2002 12:35:28 -0600 Subject: [python-win32] Newbie Access question Message-ID: <11AAC3C562ADD41197C40090273DFB9664B30D@in-db.unterlaw.com> Any ideas on how to trap the keystroke events? I'm having problems finding any detail online. Thanks again. -----Original Message----- From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] Sent: Sunday, January 20, 2002 2:13 PM To: Heath Lang Cc: python-win32@python.org. Subject: Re: [python-win32] Newbie Access question Heath Lang wrote: >I recently started writing an interface to an Access table using Python. >Everything is proceeding fine, but I'm having problems Autofilling an entry >box. I was considering executing a sql command everytime the user entered a >letter in the entrybox. And the SQL command would fill the subsequent menu. >But there has to be an easier way. Any suggestions would be greatly >appreciated. Thanks. > >_______________________________________________ >Python-win32 mailing list >Python-win32@python.org >http://mail.python.org/mailman/listinfo/python-win32 > I don't think there really is an easier way. That is, there really isn't any magic to this kind of thing. What you probably want to do is preload the values for the column and then trap keystroke events as they are typed and match up to the typed characters. I'm sure running a query for each keystroke will be prohibitively expensive. -- Jens B. Jorgensen jens.jorgensen@tallan.com From jens.jorgensen@tallan.com Mon Jan 21 18:58:46 2002 From: jens.jorgensen@tallan.com (Jorgensen, Jens) Date: Mon, 21 Jan 2002 12:58:46 -0600 Subject: [python-win32] Newbie Access question References: <11AAC3C562ADD41197C40090273DFB9664B30D@in-db.unterlaw.com> Message-ID: <3C4C64E6.1010209@tallan.com> Well, this is highly dependent on what your GUI framework is. What are you using? Heath Lang wrote: >Any ideas on how to trap the keystroke events? I'm having problems finding >any detail online. Thanks again. > >-----Original Message----- >From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] >Sent: Sunday, January 20, 2002 2:13 PM >To: Heath Lang >Cc: python-win32@python.org. >Subject: Re: [python-win32] Newbie Access question > > >Heath Lang wrote: > >>I recently started writing an interface to an Access table using Python. >>Everything is proceeding fine, but I'm having problems Autofilling an entry >>box. I was considering executing a sql command everytime the user entered >> >a > >>letter in the entrybox. And the SQL command would fill the subsequent >> >menu. > >>But there has to be an easier way. Any suggestions would be greatly >>appreciated. Thanks. >> >>_______________________________________________ >>Python-win32 mailing list >>Python-win32@python.org >>http://mail.python.org/mailman/listinfo/python-win32 >> >I don't think there really is an easier way. That is, there really isn't >any magic to this kind of thing. What you probably want to do is preload >the values for the column and then trap keystroke events as they are >typed and match up to the typed characters. I'm sure running a query for >each keystroke will be prohibitively expensive. > -- Jens B. Jorgensen jens.jorgensen@tallan.com From Heath@unterlaw.com Mon Jan 21 18:54:25 2002 From: Heath@unterlaw.com (Heath Lang) Date: Mon, 21 Jan 2002 12:54:25 -0600 Subject: [python-win32] Newbie Access question Message-ID: <11AAC3C562ADD41197C40090273DFB9664B30E@in-db.unterlaw.com> I'd like to trap the keystrokes in an Entry box. And I'm using Tk to develop for my GUI (PythonWin environment) -----Original Message----- From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] Sent: Monday, January 21, 2002 12:59 PM To: Heath Lang Cc: python-win32@python.org. Subject: Re: [python-win32] Newbie Access question Well, this is highly dependent on what your GUI framework is. What are you using? Heath Lang wrote: >Any ideas on how to trap the keystroke events? I'm having problems finding >any detail online. Thanks again. > >-----Original Message----- >From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] >Sent: Sunday, January 20, 2002 2:13 PM >To: Heath Lang >Cc: python-win32@python.org. >Subject: Re: [python-win32] Newbie Access question > > >Heath Lang wrote: > >>I recently started writing an interface to an Access table using Python. >>Everything is proceeding fine, but I'm having problems Autofilling an entry >>box. I was considering executing a sql command everytime the user entered >> >a > >>letter in the entrybox. And the SQL command would fill the subsequent >> >menu. > >>But there has to be an easier way. Any suggestions would be greatly >>appreciated. Thanks. >> >>_______________________________________________ >>Python-win32 mailing list >>Python-win32@python.org >>http://mail.python.org/mailman/listinfo/python-win32 >> >I don't think there really is an easier way. That is, there really isn't >any magic to this kind of thing. What you probably want to do is preload >the values for the column and then trap keystroke events as they are >typed and match up to the typed characters. I'm sure running a query for >each keystroke will be prohibitively expensive. > -- Jens B. Jorgensen jens.jorgensen@tallan.com From jens.jorgensen@tallan.com Mon Jan 21 19:06:08 2002 From: jens.jorgensen@tallan.com (Jorgensen, Jens) Date: Mon, 21 Jan 2002 13:06:08 -0600 Subject: [python-win32] Newbie Access question References: <11AAC3C562ADD41197C40090273DFB9664B30E@in-db.unterlaw.com> Message-ID: <3C4C66A0.7080809@tallan.com> Right. Unfortunately I know little to nothing so I can't help you there. Take a close look at the Tk documentation to see how Tk handles events and how you can trap keystroke events in particular. Heath Lang wrote: >I'd like to trap the keystrokes in an Entry box. And I'm using Tk to develop >for my GUI (PythonWin environment) > >-----Original Message----- >From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] >Sent: Monday, January 21, 2002 12:59 PM >To: Heath Lang >Cc: python-win32@python.org. >Subject: Re: [python-win32] Newbie Access question > > >Well, this is highly dependent on what your GUI framework is. What are >you using? > >Heath Lang wrote: > >>Any ideas on how to trap the keystroke events? I'm having problems finding >>any detail online. Thanks again. >> >>-----Original Message----- >>From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] >>Sent: Sunday, January 20, 2002 2:13 PM >>To: Heath Lang >>Cc: python-win32@python.org. >>Subject: Re: [python-win32] Newbie Access question >> >> >>Heath Lang wrote: >> >>>I recently started writing an interface to an Access table using Python. >>>Everything is proceeding fine, but I'm having problems Autofilling an >>> >entry > >>>box. I was considering executing a sql command everytime the user entered >>> >>a >> >>>letter in the entrybox. And the SQL command would fill the subsequent >>> >>menu. >> >>>But there has to be an easier way. Any suggestions would be greatly >>>appreciated. Thanks. >>> >>>_______________________________________________ >>>Python-win32 mailing list >>>Python-win32@python.org >>>http://mail.python.org/mailman/listinfo/python-win32 >>> >>I don't think there really is an easier way. That is, there really isn't >>any magic to this kind of thing. What you probably want to do is preload >>the values for the column and then trap keystroke events as they are >>typed and match up to the typed characters. I'm sure running a query for >>each keystroke will be prohibitively expensive. >> > > -- Jens B. Jorgensen jens.jorgensen@tallan.com From Heath@unterlaw.com Mon Jan 21 19:50:30 2002 From: Heath@unterlaw.com (Heath Lang) Date: Mon, 21 Jan 2002 13:50:30 -0600 Subject: [python-win32] Newbie Access question Message-ID: <11AAC3C562ADD41197C40090273DFB9664B30F@in-db.unterlaw.com> I've found some info about binding certain events to the Tk widgets. But thanks for pointing me in the right direction. -----Original Message----- From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] Sent: Monday, January 21, 2002 1:06 PM To: Heath Lang Cc: python-win32@python.org. Subject: Re: [python-win32] Newbie Access question Right. Unfortunately I know little to nothing so I can't help you there. Take a close look at the Tk documentation to see how Tk handles events and how you can trap keystroke events in particular. Heath Lang wrote: >I'd like to trap the keystrokes in an Entry box. And I'm using Tk to develop >for my GUI (PythonWin environment) > >-----Original Message----- >From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] >Sent: Monday, January 21, 2002 12:59 PM >To: Heath Lang >Cc: python-win32@python.org. >Subject: Re: [python-win32] Newbie Access question > > >Well, this is highly dependent on what your GUI framework is. What are >you using? > >Heath Lang wrote: > >>Any ideas on how to trap the keystroke events? I'm having problems finding >>any detail online. Thanks again. >> >>-----Original Message----- >>From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] >>Sent: Sunday, January 20, 2002 2:13 PM >>To: Heath Lang >>Cc: python-win32@python.org. >>Subject: Re: [python-win32] Newbie Access question >> >> >>Heath Lang wrote: >> >>>I recently started writing an interface to an Access table using Python. >>>Everything is proceeding fine, but I'm having problems Autofilling an >>> >entry > >>>box. I was considering executing a sql command everytime the user entered >>> >>a >> >>>letter in the entrybox. And the SQL command would fill the subsequent >>> >>menu. >> >>>But there has to be an easier way. Any suggestions would be greatly >>>appreciated. Thanks. >>> >>>_______________________________________________ >>>Python-win32 mailing list >>>Python-win32@python.org >>>http://mail.python.org/mailman/listinfo/python-win32 >>> >>I don't think there really is an easier way. That is, there really isn't >>any magic to this kind of thing. What you probably want to do is preload >>the values for the column and then trap keystroke events as they are >>typed and match up to the typed characters. I'm sure running a query for >>each keystroke will be prohibitively expensive. >> > > -- Jens B. Jorgensen jens.jorgensen@tallan.com From howard.brydle@i3dimensions.com Tue Jan 22 01:23:54 2002 From: howard.brydle@i3dimensions.com (Howard Brydle) Date: Mon, 21 Jan 2002 17:23:54 -0800 Subject: [python-win32] smtplib problem: error 451 timeout Message-ID: <2223449119E7F9488A65D51634B31BE20261A3@zulu.i3dimensions.com> Since applying Service Pack 2 to Exchange 2000 (running on Windows 2000 = Server SP2), I am getting this error intermittently, but repeatedly, = from smtplib.py: send: 'ehlo PERFORCE' reply: '451 Timeout waiting for client input' reply: retcode (451); Msg: Timeout waiting for client input send: 'helo PERFORCE' send: 'mail FROM:' send: 'mail FROM:' I note this comment in the ehlo method: # According to RFC1869 some (badly written) # MTA's will disconnect on an ehlo. Toss an exception if # that happens -ddm Is this a known issue with Microsoft Exchange 2000 server, service pack = 2?=20 From sakoosh@uark.edu Tue Jan 22 21:29:48 2002 From: sakoosh@uark.edu (Sayed A. Kooshesh) Date: Tue, 22 Jan 2002 15:29:48 -0600 Subject: [python-win32] Excel Saving Message-ID: Hi, I'm trying to run a loop to add a Picture object to a number of spread sheets. The problems is when I use file='z:/testbook.xls' xl=win32com.client.Dispatch("Excel.Application") #Code omitted xl.ActiveWorkbook.SaveAs(file, win32com.client.constants.xlNormal, '', '', 0, 0) #it always pops up the dialog box that that File already Exists in this location as does xl.Save(file) #end loop xl.Quit() Is there any way to make these dialog boxes not appear? -Ari From jeff@ccvcorp.com Wed Jan 23 18:13:24 2002 From: jeff@ccvcorp.com (Jeff Shannon) Date: Wed, 23 Jan 2002 10:13:24 -0800 Subject: [python-win32] Excel Saving References: Message-ID: <3C4EFD44.473FB5BF@ccvcorp.com> > "Sayed A. Kooshesh" wrote: > > xl.ActiveWorkbook.SaveAs(file, win32com.client.constants.xlNormal, '', '', > 0, 0) > #it always pops up the dialog box that that File already Exists in this > location as does > xl.Save(file) > #end loop > xl.Quit() > > Is there any way to make these dialog boxes not appear? Have you tried just using Save() with no filename? xl.ActiveWorkbook.Save() If that still doesn't work, then try searching through the Excel helpfiles--there's quite a bit of documentation on their object model there, though of course it's focused at Visual Basic use, but it's not that hard to translate. Look for a flag that's passed to Save or SaveAs, that specifies whether to request confirmation or not. Jeff Shannon Technician/Programmer Credit International From jeff@ccvcorp.com Wed Jan 23 20:55:03 2002 From: jeff@ccvcorp.com (Jeff Shannon) Date: Wed, 23 Jan 2002 12:55:03 -0800 Subject: [python-win32] NT Services and upgrading Python Message-ID: <3C4F2327.FCEEFDC8@ccvcorp.com> I have an NT Service running, using Python 2.0, and I'd like to use a package that prefers 2.1. Installing the new version is simple enough, but I wonder if it might cause any issues with my service? Now, it seems most likely that if I install 2.1 alongside 2.0, they'll have separate sections in the registry, and things *ought* to work... but I'm worried that anything installed in \windows\system (etc.) might be overwritten, or that a $PATH search will find 2.1 when I should be using 2.0 (or vice-versa). This service is ... not mission-critical, but it's a significant part of daily business operation, so I really don't want to just try it out and hope it doesn't break. Alternatively, I could re-work the service to use 2.1 -- my code probably wouldn't require any change. Would this be as simple as unregistering the service, upgrading Python, and then re-registering it? Are there any other hidden catches behind doing this? (If it *is* this simple, then this is probably my best bet...) Thanks in advance for any suggestions or advice. :) Jeff Shannon Technician/Programmer Credit International From thomas.heller@ion-tof.com Wed Jan 23 21:04:10 2002 From: thomas.heller@ion-tof.com (Thomas Heller) Date: Wed, 23 Jan 2002 22:04:10 +0100 Subject: [python-win32] NT Services and upgrading Python References: <3C4F2327.FCEEFDC8@ccvcorp.com> Message-ID: <007e01c1a451$9bab0ff0$e000a8c0@thomasnotebook> From: "Jeff Shannon" > > I have an NT Service running, using Python 2.0, and I'd like > to use a package that prefers 2.1. Installing the new > version is simple enough, but I wonder if it might cause any > issues with my service? > > Now, it seems most likely that if I install 2.1 alongside > 2.0, they'll have separate sections in the registry, and > things *ought* to work... but I'm worried that anything > installed in \windows\system (etc.) might be overwritten, or > that a $PATH search will find 2.1 when I should be using 2.0 > (or vice-versa). This service is ... not mission-critical, > but it's a significant part of daily business operation, so > I really don't want to just try it out and hope it doesn't > break. You can run several Python versions at the same time (this applies at least to the PythonLabs version, I'm not sure about ActiveState's). > > Alternatively, I could re-work the service to use 2.1 -- my > code probably wouldn't require any change. Would this be as > simple as unregistering the service, upgrading Python, and > then re-registering it? Are there any other hidden catches > behind doing this? (If it *is* this simple, then this is > probably my best bet...) Services written in Python are run via PythonService.exe, whish is included in win32all. They will use the version which you registered last ;-). I do not known if the win32all setup program registers this, but you can easily, after installing all the 2.1 stuff, run the 2.0 PythonService.exe again to register it, and your service will continue to use the 2.0 files. Regards, Thomas From jeff@ccvcorp.com Wed Jan 23 21:46:23 2002 From: jeff@ccvcorp.com (Jeff Shannon) Date: Wed, 23 Jan 2002 13:46:23 -0800 Subject: [python-win32] NT Services and upgrading Python Message-ID: <3C4F2F2F.F1E37C95@ccvcorp.com> "Thomas Heller" wrote: > Services written in Python are run via PythonService.exe, > whish is included in win32all. They will use the version > which you registered last ;-). I do not known if the win32all > setup program registers this, but you can easily, after installing > all the 2.1 stuff, run the 2.0 PythonService.exe again to register > it, and your service will continue to use the 2.0 files. Okay, so then if I don't re-register PythonService or my own service, then it should run using the 2.1 files? In that case, I shouldn't have any problems unless my own code is not forwards-compatible. :) "Jim Vickroy" wrote: > Speaking anecdotally (rather than from a deep understanding of the > Python interface to the win32 api), moving from Python 2.0 to 2.1 > required no changes in my Python-based services. This is good to hear. Sounds like my worries were (mostly) unfounded, and I will proceed with the upgrade. Thanks for the quick responses! Jeff Shannon Technician/Programmer Credit International From seant@superchannel.org Thu Jan 24 17:33:01 2002 From: seant@superchannel.org (Sean Treadway) Date: Thu, 24 Jan 2002 18:33:01 +0100 Subject: [python-win32] win32gui_taskbar.py popup menu doesn't go away Message-ID: <003c01c1a4fd$2c6285e0$6501a8c0@amber> I was searching through the archives of the pythonwin list to look for a solution to the following problem: When clicking off the popup menu created by the demo taskbar code, the menu would not disappear. http://mail.python.org/pipermail/python-list/1999-June/005566.html > >[1] well, almost - further experimentation shows that it only closes > >the menu if I click within the Pythonwin window, rather than anywhere > >on the screen. >Well, maybe you should set the owner to the desktop? This didn't work. So digging around the MSDN site I found: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/menus _0hdi.asp Which states that the menu will be destroyed when the owning window changes focus (the reason why clicking on pythonwin seemed to do the trick). So before calling TrackPopupMenu(), one must first call SetForegroundWindow(). The sample C code below: SetForegroundWindow(hDlg); // Display the menu TrackPopupMenu( hSubMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, hDlg, NULL); PostMessage(hDlg, WM_NULL, 0, 0); The PostMessage below is to switch the process to the owning window so the next time the menu is displayed it will not dissapear because it is already focused. However, I could not reproduce the behavior of having the menu appear then disappear as the win32 sdk implies. I suggest that the win32gui_taskbar.py demo code is updated with the following 2 lines to save "us that didn't know better" a lot of grief: + SetForegroundWindow(self.hwnd) TrackPopupMenu(menu, win32con.TPM_LEFTALIGN, pos[0], pos[1], 0, self.hwnd, None) + PostMessage(self.hwnd, win32con.WM_NULL, 0, 0) Thanks, Sean From jeff@ccvcorp.com Thu Jan 24 22:38:52 2002 From: jeff@ccvcorp.com (Jeff Shannon) Date: Thu, 24 Jan 2002 14:38:52 -0800 Subject: [python-win32] Python path for COM objects? Message-ID: <3C508CFC.15CA684A@ccvcorp.com> I'm trying out ActivePython 2.2, and have run into an interesting problem. (Yeah, I know I was just asking about upgrading to 2.1--I've got some machines on 2.1 and some on 2.0, I'm thinking of moving them all to 2.2 now...) I have a wxPython-based application that I've wrapped up as a COM object. It works fine under Python 2.1, but after upgrading to 2.2, it fails trying to import wxPython (ImportError: No module named wxPython.wx). This import error *only* happens when running from COM; if I run my app from the command line, it finds everything just fine, but can't seem to do so from within the COM server. Now, the 2.1 version of wxPython installed into Python21\wxPython, but the 2.2 version has gone into site-packages (Python22\Lib\site-packages\wxPython). This is the only change I can think of that should affect things, unless there's some alteration of the python path from within pythoncom 2.2 (vs 2.1). So... how *does* the python path get initailized in 2.2? Is there a registry entry I need to tweak? (I've tried using a .pth file in \Python22, with no success.) From jeff@ccvcorp.com Thu Jan 24 22:44:10 2002 From: jeff@ccvcorp.com (Jeff Shannon) Date: Thu, 24 Jan 2002 14:44:10 -0800 Subject: [python-win32] Python path for COM objects? Message-ID: <3C508E3A.22975963@ccvcorp.com> I should add that a quick test shows that Lib\site-packages is definately *not* on sys.path. I suppose I could add it, but it seems to me that it *ought* to be there... Jeff Shannon Technician/Programmer Credit International From jeff@ccvcorp.com Fri Jan 25 01:38:05 2002 From: jeff@ccvcorp.com (Jeff Shannon) Date: Thu, 24 Jan 2002 17:38:05 -0800 Subject: [python-win32] Python path for COM objects? References: <3C508CFC.15CA684A@ccvcorp.com> Message-ID: <3C50B6FD.D86D10DC@ccvcorp.com> Jeff Shannon wrote: > I have a wxPython-based application that I've wrapped up as > a COM object. It works fine under Python 2.1, but after > upgrading to 2.2, it fails trying to import wxPython > (ImportError: No module named wxPython.wx). Nevermind. A little bit of poking around and I figured it out; I really should have known this already. In the registry, under PythonCore/2.2/PythonPath, I simply added site-packages to the semicolon-separated list of directories, and the problem is solved. Jeff Shannon Technician/Programmer Credit International From sakoosh@uark.edu Fri Jan 25 17:26:11 2002 From: sakoosh@uark.edu (Sayed A. Kooshesh) Date: Fri, 25 Jan 2002 11:26:11 -0600 Subject: [python-win32] Excel Alerts Message-ID: Hi, well, I used xl.DisplayAlerts = 0 and it worked for the saveas and etc, but I'm trying to repair a poorly written Macro (written in VB) that links to workbooks that don't exist (but the values are still there). However, in my loop that opens several hundred files, it asks me at each wb=xl.Workbooks.Open(path +'/'+a) "The workbook you opened contains links to information in another workbook. Do you want to update this workbook with changes made to the other workbook?" (yes/no) or is there a way to make it automaticly select no or a why to make it not come up? -Ari ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ What's the difference between fate and destiny? Your destiny is determined by your actions. Your fate is determined by your destiny. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From Jim.Vickroy@noaa.gov Mon Jan 28 15:58:47 2002 From: Jim.Vickroy@noaa.gov (Jim Vickroy) Date: Mon, 28 Jan 2002 08:58:47 -0700 Subject: [python-win32] PyDoc problems Message-ID: <3C557537.4DE03E17@noaa.gov> What are people using to generate html documentation on MS Windows machines? I have been using the version of PyDoc included in the Python 2.1 distribution, but I get occasional errors of the form: problem in d:\py_addons\generic\keyed_archive.py - NameError: name 'generic' is not defined when the Python interpreter has no problem importing the module (i.e., "import generic.keyed_archive" executes as expected). Sometimes, simply stopping and restarting PyDoc "fixes" this error, but sooner or later this type of error appears for some (other) module -- perhaps one that previously did not generate the error. From sakoosh@uark.edu Mon Jan 28 20:02:21 2002 From: sakoosh@uark.edu (Sayed A. Kooshesh) Date: Mon, 28 Jan 2002 14:02:21 -0600 Subject: [python-win32] I've RTFM'd (Help Excel Macro Removing) Message-ID: Hey All, My project currently is cleaning a couple hundred (and Quite Large) Excel Sheets that were generated by another employee using a VB Macro. Problem is, for every .xls he created, it copied the Macro onto it, showing all his code, and adding a good 500k to the file size. I've been hunting hard with my COM Browser and I've done quite a few net searches, but I can't find anything that really points to it. I just would like to remove them from the workbook. Please Help! -Ari ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ What's the difference between fate and destiny? Your destiny is determined by your actions. Your fate is determined by your destiny. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From jens.jorgensen@tallan.com Mon Jan 28 21:34:07 2002 From: jens.jorgensen@tallan.com (Jorgensen, Jens) Date: Mon, 28 Jan 2002 15:34:07 -0600 Subject: [python-win32] I've RTFM'd (Help Excel Macro Removing) References: Message-ID: <3C55C3CF.6050800@tallan.com> Interesting. It seems that the Modules property of the Workbook object is supposed to contain the modules of code which are in the workbook. However I tried this and it didn't work! That is, I recorded a macro, then went into the VB macro editor to see that the module was there (it was named "Module1") and then looked at Modules.Count and it was zero! I then used the Add() method on the Modules interface and that worked and added a module as expected. Very weird. I have no idea why this doesn't work as expected. Sayed A. Kooshesh wrote: >Hey All, > >My project currently is cleaning a couple hundred (and Quite Large) Excel >Sheets that were generated by another employee using a VB Macro. Problem is, >for every .xls he created, it copied the Macro onto it, showing all his >code, and adding a good 500k to the file size. I've been hunting hard with >my COM Browser and I've done quite a few net searches, but I can't find >anything that really points to it. I just would like to remove them from the >workbook. Please Help! > >-Ari > >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >What's the difference between fate and destiny? > >Your destiny is determined by your actions. >Your fate is determined by your destiny. >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > >_______________________________________________ >Python-win32 mailing list >Python-win32@python.org >http://mail.python.org/mailman/listinfo/python-win32 > -- Jens B. Jorgensen jens.jorgensen@tallan.com From sakoosh@uark.edu Tue Jan 29 20:11:47 2002 From: sakoosh@uark.edu (Sayed A. Kooshesh) Date: Tue, 29 Jan 2002 14:11:47 -0600 Subject: [python-win32] I've RTFM'd (Help Excel Macro Removing) In-Reply-To: <3C55C3CF.6050800@tallan.com> Message-ID: Hmm, That's Intersting, I'm using Excel 2000 (excel objlib 9.0) and I don't have a modules property of the Workbook object... -Ari ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ What's the difference between fate and destiny? Your destiny is determined by your actions. Your fate is determined by your destiny. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -----Original Message----- From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] Sent: Monday, January 28, 2002 3:34 PM To: Sayed A. Kooshesh Cc: python-win32@python.org Subject: Re: [python-win32] I've RTFM'd (Help Excel Macro Removing) Interesting. It seems that the Modules property of the Workbook object is supposed to contain the modules of code which are in the workbook. However I tried this and it didn't work! That is, I recorded a macro, then went into the VB macro editor to see that the module was there (it was named "Module1") and then looked at Modules.Count and it was zero! I then used the Add() method on the Modules interface and that worked and added a module as expected. Very weird. I have no idea why this doesn't work as expected. Sayed A. Kooshesh wrote: >Hey All, > >My project currently is cleaning a couple hundred (and Quite Large) Excel >Sheets that were generated by another employee using a VB Macro. Problem is, >for every .xls he created, it copied the Macro onto it, showing all his >code, and adding a good 500k to the file size. I've been hunting hard with >my COM Browser and I've done quite a few net searches, but I can't find >anything that really points to it. I just would like to remove them from the >workbook. Please Help! > >-Ari > >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >What's the difference between fate and destiny? > >Your destiny is determined by your actions. >Your fate is determined by your destiny. >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > >_______________________________________________ >Python-win32 mailing list >Python-win32@python.org >http://mail.python.org/mailman/listinfo/python-win32 > -- Jens B. Jorgensen jens.jorgensen@tallan.com From jens.jorgensen@tallan.com Tue Jan 29 21:12:02 2002 From: jens.jorgensen@tallan.com (Jorgensen, Jens) Date: Tue, 29 Jan 2002 15:12:02 -0600 Subject: [python-win32] I've RTFM'd (Help Excel Macro Removing) References: Message-ID: <3C571022.8030901@tallan.com> I have office 2000 as well and it should be there. I used oleview to look at the type library directly and even tried it out in code: from win32com.client import Dispatch xl = Dispatch('excel.application') wkbk = xl.Workbooks.Add() module = wkbk.Modules.Add() print module.Name This gets me: Module1 Sayed A. Kooshesh wrote: >Hmm, That's Intersting, I'm using Excel 2000 (excel objlib 9.0) and I don't >have a modules property of the Workbook object... >-Ari > >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >What's the difference between fate and destiny? > >Your destiny is determined by your actions. >Your fate is determined by your destiny. >~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > >-----Original Message----- >From: Jorgensen, Jens [mailto:jens.jorgensen@tallan.com] >Sent: Monday, January 28, 2002 3:34 PM >To: Sayed A. Kooshesh >Cc: python-win32@python.org >Subject: Re: [python-win32] I've RTFM'd (Help Excel Macro Removing) > > >Interesting. It seems that the Modules property of the Workbook object >is supposed to contain the modules of code which are in the workbook. >However I tried this and it didn't work! That is, I recorded a macro, >then went into the VB macro editor to see that the module was there (it >was named "Module1") and then looked at Modules.Count and it was zero! I >then used the Add() method on the Modules interface and that worked and >added a module as expected. Very weird. I have no idea why this doesn't >work as expected. > >Sayed A. Kooshesh wrote: > >>Hey All, >> >>My project currently is cleaning a couple hundred (and Quite Large) Excel >>Sheets that were generated by another employee using a VB Macro. Problem >> >is, > >>for every .xls he created, it copied the Macro onto it, showing all his >>code, and adding a good 500k to the file size. I've been hunting hard with >>my COM Browser and I've done quite a few net searches, but I can't find >>anything that really points to it. I just would like to remove them from >> >the > >>workbook. Please Help! >> >>-Ari >> >>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >>What's the difference between fate and destiny? >> >>Your destiny is determined by your actions. >>Your fate is determined by your destiny. >>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> >> >> >>_______________________________________________ >>Python-win32 mailing list >>Python-win32@python.org >>http://mail.python.org/mailman/listinfo/python-win32 >> > > >-- >Jens B. Jorgensen >jens.jorgensen@tallan.com > > > >_______________________________________________ >Python-win32 mailing list >Python-win32@python.org >http://mail.python.org/mailman/listinfo/python-win32 > -- Jens B. Jorgensen jens.jorgensen@tallan.com