By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
454,513 Members | 1,840 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 454,513 IT Pros & Developers. It's quick & easy.

Dispatch('Excel.Application') on Vista from Task Scheduler

P: n/a
I have a python script that runs fine from the command line or from
within IDLE, but doesn't work through the Vista Task Scheduler.

The script downloads some csv files and then uses pywin32 to combine
the csv files into a single document. When I run it through the task
scheduler, it downloads the csv files, but then doesn't seem to launch
excel. I can't figure out what is wrong or how to add enough logging
to tell.

I'm using Python 2.6 and pywin32-212.win32-py2.6 on Vista.

Code snippet below.

Any ideas? Does it have something to do with permissioning on Vista?
I'm running the task as my regular user (that has administrative
privileges).

Thanks,
Theo
---------------
from win32com.client import Dispatch
.....
excel = Dispatch('Excel.Application')
excel.visible =0
print 'launched excel'
workbook =excel.Workbooks.Add()
Sheets = workbook.sheets
defaultWorksheets = workbook.Worksheets(1)
excel.application.displayalerts = 0

for port in portList:
print 'about to open' + basePath + port.filename
port_book = excel.Workbooks.Open( basePath +
port.filename)
port_sheets = port_book.Sheets

datasheet = port_sheets(1)

datasheet.Activate()
datasheet.Cells.Select()

excel.Selection.Copy()

Sheets.Add().Name = port.name
newsheet=workbook.Worksheets(port.name)
newsheet.Activate()
newsheet.Paste()

port_book.Close(SaveChanges=0)

Nov 8 '08 #1
Share this Question
Share on Google+
1 Reply


P: n/a
Cupric wrote:
I have a python script that runs fine from the command line or from
within IDLE, but doesn't work through the Vista Task Scheduler.

The script downloads some csv files and then uses pywin32 to combine
the csv files into a single document. When I run it through the task
scheduler, it downloads the csv files, but then doesn't seem to launch
excel. I can't figure out what is wrong or how to add enough logging
to tell.

I'm using Python 2.6 and pywin32-212.win32-py2.6 on Vista.

Code snippet below.

Any ideas? Does it have something to do with permissioning on Vista?
I'm running the task as my regular user (that has administrative
privileges).

Thanks,
Theo
---------------
from win32com.client import Dispatch
....
excel = Dispatch('Excel.Application')
excel.visible =0
print 'launched excel'
workbook =excel.Workbooks.Add()
Sheets = workbook.sheets
defaultWorksheets = workbook.Worksheets(1)
excel.application.displayalerts = 0

for port in portList:
print 'about to open' + basePath + port.filename
port_book = excel.Workbooks.Open( basePath +
port.filename)
port_sheets = port_book.Sheets

datasheet = port_sheets(1)

datasheet.Activate()
datasheet.Cells.Select()

excel.Selection.Copy()

Sheets.Add().Name = port.name
newsheet=workbook.Worksheets(port.name)
newsheet.Activate()
newsheet.Paste()

port_book.Close(SaveChanges=0)
Normally this has more to do with the context that the app runs in under Task
Scheduler not having the same environment as the logged in user. Try telling
the Task Scheduler to run the application using the same credentials as the
foreground user to see if that makes a difference.

-Larry
Nov 9 '08 #2

This discussion thread is closed

Replies have been disabled for this discussion.