2014-04-25 61 views
0

推出的時候我有一個使用Microsoft.Office.Interop.Excel.Application打開和保存Excel文件自定義應用程序的錯誤。我有一批使用所有必需的參數觸發應用程序。該批次成功完成時手動運行任務,但是當我試圖安排在任務調度一樣,我從馬的應用程序記錄以下錯誤信息:應用程序將引發從任務調度

的Microsoft Office Excel不能訪問文件 「E:\任務\ extractSPdocs \下載\ Last_Minute_IT_DATA_DUMP_201404250000.xls'。 有幾個可能的原因:

的文件名或路徑不存在。該文件正被 另一個程序使用。您嘗試保存的工作簿與當前打開的工作簿具有相同的 名稱。

我知道錯誤是由下面的代碼段拋出:

try 
         { 
          excelfile = new Microsoft.Office.Interop.Excel.Application(); 
          excelfile.DisplayAlerts = false; 
          var wb = excelfile.Workbooks.Open(dirpath + "\\" + csvname); 
          wb.SaveAs(dirpath + "\\" + csvname.Substring(0, csvname.LastIndexOf('.')), Microsoft.Office.Interop.Excel.XlFileFormat.xlOpenXMLWorkbook); 
          csvname = csvname.Substring(0, csvname.LastIndexOf('.')) + ".xlsx"; 
          csvext = ".xlsx"; 
         } 

任務與我使用的是同一個帳戶(本地管理員)創建的。 它被設置爲以最高權限運行並在批處理文件目錄中啓動。 操作系統是Windows Server 2008.

我不知道爲什麼這是失敗,但懷疑這與調度程序啓動我的應用程序然後隨後啓動Excel的上下文有關。任何人都可以提出解決方案嗎?

+0

是E:映射驅動器? –

+0

不,afaik這是SAN,但附加爲本地驅動器......即, 「淨使用」不顯示任何映射的驅動器。 – Maju

回答

0

我已經在這裏找到一個解決方案http://justgeeks.blogspot.co.uk/2012/10/troubleshooting-microsoft-excel-cannot.html

關鍵是你必須瞭解創建該文件夾:

C:\ WINDOWS \ Syswow64資料\ CONFIG \ systemprofile \桌面

我必須承認,我不太明白爲什麼這個文件夾是由excel打開文件時,由任務調度程序啓動,但它的工作原理。

+0

這表明您實際上並未使用您認爲正在使用的用戶帳戶。該文件夾僅由系統帳戶使用。你需要解決這個問題。 –

0

添加以下目錄C:\ WINDOWS \ SysWow64資料\ CONFIG \ systemprofile \桌面

+0

該鏈接已經死亡,或者正在死亡。你應該在答案的正文中提供解釋的相關細節。 – jdv