[python-win32] Python and Excel via Cron
Larry Bates
larry.bates at websafe.com
Thu Nov 22 00:28:05 CET 2007
Why are you using Cygwin cron instead of native Windows Task Scheduler (Windows
version of cron-like scheduler)?
These lines:
> myExcel.Workbooks.Add('C:\Python24\\test.xls')
> myExcel.Workbooks.Add('C:\Python24\\macro.XLA')
> myExcel.ActiveWorkbook.SaveAs('C:\Python24\\test.xls')
should read:
> myExcel.Workbooks.Add('C:\\Python24\\test.xls')
> myExcel.Workbooks.Add('C:\\Python24\\macro.XLA')
> myExcel.ActiveWorkbook.SaveAs('C:\\Python24\\test.xls')
-Larry
Jd H wrote:
> I am posting test.py again below:
>
> <<<
> from win32com.client import Dispatch
>
> myExcel = Dispatch('Excel.Application')
> myExcel.Workbooks.Add('C:\Python24\\test.xls')
> myExcel.Workbooks.Add('C:\Python24\\macro.XLA')
> myExcel.Run('Macro1')
> myExcel.Application.DisplayAlerts = False
> myExcel.ActiveWorkbook.SaveAs('C:\Python24\\test.xls')
> myExcel.Quit()
> >>>
>
> Cygwin cron calling test.py works great on my Windows XP PC with Python
> 2.4 version. From windows 2000 terminal server with same Python 2.4
> version, it works perfectly as it is supposed to if run via Python 2.4.
> But if called via cygwin cron (like it needs to be), it fails per below
> error:
>
> Traceback (most recent call last):
> File "c:\Python24\test.py", line 4, in ?
> myExcel.Workbooks.Add('C:\Python24\\test.xls')
> File "C:\Python24\Lib\site-packages\win32com\client\dynamic.py", line
> 496, in __getattr__
> raise AttributeError, "%s.%s" % (self._username_, attr)
> AttributeError: Excel.Application.Workbooks
> Thanks,
> JD
>
> */Tim Roberts <timr at probo.com>/* wrote:
>
> Jd H wrote:
> > Hello,
> >
> > I have the below python code which opens an excel sheet, runs a macro
> > then save the file. When run from python it runs perfectly. Code is
> > below. File name is test.py
> >
> > <<<
> > from win32com.client import Dispatch
> > ;
> > myExcel = Dispatch('Excel.Application')
> > myExcel.Visible = 1
> > myExcel.Workbooks.Add('C:\Python24\test.xls')
>
> I don't believe this ever ran correctly as you have posted it. This
> will not open a file called "test.xls" in the directory "Python24".
> Instead, this will open a file in the root called "Python24est.xls"
> with a tab character in the name. You HAVE to be careful about
> backslashes in Python. Either double the backslashes, replace them with
> forward slashes, or use a raw string ( r'c:\Python24\test.xls' ).
>
> > myExcel.Workbooks.Add('C:\Python24\macro.XLA')
> > myExcel.Run('Macro1')
> > myExcel.Application.DisplayAlerts = False
> > myExcel.ActiveWorkbook.SaveAs('C:\Python24\test.xls')
> > myExcel.Quit()
> > >>>
> >
> > When run from cron, it fails at line 3 when it opens the file with
> > below message:
> >
> > Traceback (most recent call last):
> > File "c :\Python24\test.py", line 20, in ?
> > jd.Workbooks.Add('C:\Python24\test.xls')
> > File "C:\Python24\Lib\site-packages\win32com\client\dynamic.py",
> > line 496, in __getattr__
> > raise AttributeError, "%s.%s" % (self._username_, attr)
> > AttributeError: Excel.Application.Workbooks
> >
> > Any ideas how to resolve this?
>
> What utility are you using to schedule this? Are you actually using
> Cygwin's cron, or the "at" command, or the standard "Schedule Tasks"
> thing, or what? What operating system are you using?
>
> Most of the task scheduler tools run as a service. By default, a
> service cannot launch a GUI application. Also, in some cases, the
> services run as a user that has restricted rights. Tell us a little
> more about how you are doing this, and perhaps we can suggest how to
> accomplish it.
>
> --
> Tim Roberts, timr at probo.com
> Providenza & Boekelheide, Inc.
>
> _______________________________ ________________
> python-win32 mailing list
> python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32
>
>
> ------------------------------------------------------------------------
> Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try
> it now.
> <http://us.rd.yahoo.com/evt=51731/*http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ
> >
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> python-win32 mailing list
> python-win32 at python.org
> http://mail.python.org/mailman/listinfo/python-win32
More information about the python-win32
mailing list