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

标签 perl apache excel win32ole

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

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

  • 很少有人通过将路径设置为绝对路径来解决它。这对我没有用。
  • 将脚本的权限设置为有权访问服务器上的文件。我不知道该怎么做。但是,我正在通过 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"
    

    感谢任何输入。

    最佳答案

    好的,在几次尝试修改权限并将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 中找到了此解决方案
    希望这对将来使用这些模块的人有所帮助

    关于perl - 文件打开时出现 Win32::OLE 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16026330/

    相关文章:

    未检查具有 Tomcat 代理和 htaccess 文件的 Apache HTTPD VirtualHost

    python - 查找和替换 Pandas 仅索引每一行

    perl - 哪个 Perl ssh 模块支持 kerberos 身份验证?

    Perl根据某个键连接2个散列

    perl - 从 Perl 调用 Fortran 程序而不保存输入/输出文件

    linux - Proc::Daemon with mod_perl 不写入 STDOUT 或 STDERR

    python - 使用 fastcgi 在共享主机上部署站点

    Apache:url 中的 %25(400 错误请求)

    excel - Outlook 项目更改重复

    excel - 如何在不使用 ColdFusion 下载的情况下生成 excel 文件 (xls) 并将其保存到服务器位置