文件打开时出现Win32 :: OLE错误

时间:2013-04-15 23:30:55

标签: perl apache excel win32ole

我试图在Windows / apache服务器上的perl网页中使用Win32 :: OLE打开一个.xlsm文件。

在研究此问题时,遇到了以下可能的解决方案:

  1. 很少有人通过将其路径设置为绝对路径来解决问题。这对我没用。

  2. 设置脚本的权限,使其具有访问服务器上文件的权限。我不知道该如何解决这个问题。但是,我通过Windows sspi验证我的用户,并将有一个用户ID。是否会在Win32 :: OLE上验证该用户ID是否可以访问文件?

  3. 但是,我可以使用文件句柄打开文件。我之前从我的网页上使用文件句柄读取/写入了此服务器位置上的文件。 win32 :: OLE权限是否不同?

    错误是:

    Microsoft Excel cannot access the file 'C:\test.xlsm'. There are several
    possible reasons:
    
    • The file name or path does not exist.
    • The file is being used by another program.
    • The workbook you are trying to save has the same name as a currently open
    workbook.
    
    Win32::OLE(0.1709) error 0x800a03ec
        in METHOD/PROPERTYGET "Open"
    

    感谢任何输入。

1 个答案:

答案 0 :(得分:5)

好的,最后通过在几次尝试修改权限和运行apache作为具有所有必需权限但没有用的单独用户来解决错误,通过在

下创建桌面的配置文件夹

C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop

在msdn论坛http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=required中找到此解决方案 希望这将有助于将来使用这些模块的人