我试图在Windows / apache服务器上的perl网页中使用Win32 :: OLE打开一个.xlsm文件。
在研究此问题时,遇到了以下可能的解决方案:
很少有人通过将其路径设置为绝对路径来解决问题。这对我没用。
设置脚本的权限,使其具有访问服务器上文件的权限。我不知道该如何解决这个问题。但是,我通过Windows sspi验证我的用户,并将有一个用户ID。是否会在Win32 :: OLE上验证该用户ID是否可以访问文件?
但是,我可以使用文件句柄打开文件。我之前从我的网页上使用文件句柄读取/写入了此服务器位置上的文件。 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"
感谢任何输入。
答案 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中找到此解决方案 希望这将有助于将来使用这些模块的人