1

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

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

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

  2. 将脚本的权限设置为有权访问服务器上的文件。我不知道该怎么做。但是,我正在通过 Windows sspi 对我的用户进行身份验证,并且会有一个用户 ID。是否会验证该用户 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"

感谢任何输入。

4

1 回答 1

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中找到了这个解决方案 希望这将有助于使用这些模块的人未来

于 2013-04-23T22:06:05.297 回答