Win32::OLE ошибка при открытии файла

Я пытаюсь открыть файл.xlsm с помощью Win32::OLE с моей веб-страницы в perl на сервере windows/apache.

При исследовании этой проблемы, столкнулись со следующими возможными решениями:

  1. Мало кто из них решил эту проблему, установив абсолютный путь. Это не сработало для меня.

  2. Установка разрешений для скрипта, чтобы иметь права доступа к файлам на сервере. Я не уверен, как это сделать. Тем не менее, я аутентифицирую своего пользователя через Windows sspi и у меня будет идентификатор пользователя. Будет ли этот идентификатор пользователя проверен для доступа к файлу в 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"

Цените любые входные данные.

1 ответ

Решение

ОК, наконец, избавился от ошибки после нескольких попыток изменить разрешения и запустить 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 Надеюсь, это поможет кому-то использовать эти модули в будущее

Другие вопросы по тегам