2013-04-15 111 views
1

我想從我的網頁中的Windows/Apache服務器上的perl打開使用Win32 :: OLE的.xlsm文件。打開文件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

OK,終於得到了,由下

Ç創建桌面配置文件的文件夾後多次嘗試擺脫錯誤的修改權限和運行Apache作爲與無濟於事所有必需的權限的單獨的用戶:\ WINDOWS \ Syswow64資料\ CONFIG \ systemprofile \桌面

發現這個解決方案在MSDN論壇http://social.msdn.microsoft.com/Forums/en-US/innovateonoffice/thread/b81a3c4e-62db-488b-af06-44421818ef91?prof=required 希望這能幫助別人在未來

+0

使用這些模塊我不得不添加在Windows Server 2016 2個文件夾才能正常工作。 'C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop C:\ Windows \ System32 \ config \ systemprofile \ Desktop' – user2025696