2013-04-15 4 views
1

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

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

  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" 

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

ответ

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 Надеюсь, что это поможет кому-то с помощью этих модулей в будущем

+0

мне пришлось добавить 2 папки в Windows Server 2016, чтобы работать должным образом. 'C: \ Windows \ SysWOW64 \ config \ systemprofile \ Рабочий стол C: \ Windows \ System32 \ config \ systemprofile \ Desktop' – user2025696

Смежные вопросы