为什么Win32 :: OLE在Win2003下无法与Excel2003通信?

dor*_*anw 6 excel perl ole

我有一个基于Web的Perl Win32 :: OLE脚本,它在服务器端使用Excel.多年来,它一直在运行Excel2000的Win2000服务器上愉快地工作.我们最近升级到Win2003/Excel2003,现在我从脚本中收到以下错误:

 Win32::OLE(0.1709) error 0x80070005: "Access is denied" at create_worksheet_lib.plx line 639
eval {...} called at create_worksheet_lib.plx line 639
Run Code Online (Sandbox Code Playgroud)

第639行是:

$Excel = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;}) or die "Oops, cannot start Excel";
Run Code Online (Sandbox Code Playgroud)

Perl似乎无法访问Excel.任何Windows专家都可以帮助解决问题吗?

Dav*_*ave 0

您可以从服务器上的命令行运行该脚本(将 Web 服务器排除在外)吗?这是我要尝试的第一件事。如果它可以从命令行运行,那么可能是权限问题或 Web 服务器配置问题。