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

Sus*_*hra 1 apache excel perl win32ole

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

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

  1. 很少有人通过设置他们的绝对路径来解决它.这对我没用.

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

但是,我可以使用文件句柄打开文件.我之前从我的网页上使用文件句柄读取/写入了此服务器位置上的文件.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"
Run Code Online (Sandbox Code Playgroud)

感谢任何输入.

Sus*_*hra 5

好的,最后通过创建一个用于桌面的配置文件夹,在多次尝试修改权限并将apache作为具有所有必需权限的单独用户运行后,最终摆脱了错误

C:\ WINDOWS\Syswow64资料\ CONFIG\systemprofile \桌面

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