Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Win32::OLE не открывает excel


Автор: Nandy 18.10.2007, 14:35
Здравствуйте, уважаемые господа. Помогите, пожалуйста разобраться. Нужно в 
CGI скрипте на perl открывать excel файл. Spreadsheet::ParseExcel работает, но слишком медленно, нужно использовать Win32::OLE. Тогда 


Код

unless (defined $ex) {
    $ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;}) 
       or print "cannot start Excel";



не работает, (выводит "cannot start Excel"), не получается запустить приложение и все тут. Из командной строки такой скрипт работает, а CGI - нет.
В чем может быть дело?

Автор: korob2001 18.10.2007, 18:01
попробуй получить ошибку, таким образом, думаю это поможет тебе понять причину:
Код

unless (defined $ex) {
    $ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;}) 
       or die "Can't start Excel: " . Win32::OLE->LastError() . "\n";


Если не разберёшься, тогда ошибку запости сюда.

ЗЫ: Модератор: Для вставки кода, пользуйся кнопкой "Код", что бы подсвечивать синтаксис, сохранить форматирование и выделить код из обычного текста.

Автор: Nandy 19.10.2007, 07:09
ошибка:

Win32::OLE(0.1702) error 0x80070005: "Access is denied" !!!

я так понимаю, у IIS нет разрешения запускать excel, верно?

Автор: Nandy 19.10.2007, 09:57
Это, наверно, как-то связано с безопасносью системы, аккаунтами юзеров или чем-то подобным. Если кто-то с этим сталкивался, помогите, пожалуйста. Никак не разберусь, что надо сделать.

Автор: Rybnadzorro 19.10.2007, 12:53
http://www.google.com.ua/search?hl=ru&q=0x80070005&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&meta=

На многих страницах предлагают сходить сюда - http://go.microsoft.com/fwlink/?linkid=52012 - это какая-то майкрософтная утилита.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)