2010-10-29 120 views
0

我已经在我的机器(XP)中创建了Office Excel应用程序。并且我已经将该应用程序放置在Windows Server 2008中,并提供以下错误。Microsoft Office Excel无法访问文件

的Microsoft Office Excel不能访问文件 '\服务器\ Input.xls'。有几种可能的原因:

  • 文件名或路径不存在。
  • 该文件正在被另一个程序使用。
  • 您尝试保存的工作簿与当前打开的工作簿具有相同的名称。

客户机和服务器系统安装办公室2007和加入参考microsoftexcellibrary 12.0

为应用程序创建组件和从调用的形式的代码。

+0

你检查所有可能的原因是什么?该检查的结果是什么? – 2010-10-29 09:09:51

+0

你必须比“windows服务器”更具体。而且,Excel电子表格不是独立的应用程序。 “为应用程序创建程序集并从窗体调用代码”:此窗体和VB.Net exe如何与文件进行交互? Office VBA不是VB.Net。 VB.Net不是Excel。虽然它会很好,如果是的话。作为一种解决方法,VBA总是可以访问“Scripting.FileSystemObject”COM类。 – 2010-10-29 09:29:22

回答

0

我会确保没有Excel的过程是在机器上运行,你运行该应用程序之前,应该覆盖的最后一个点。

第一点看上去最有可能的问题,路径看起来像一个局部路径或不正确的UNC路径。尝试将电子表格的完整路径'C:\ server \ input.xls'并查看是否有效。

要停止的中间点,在workbook.open命令,您可以指定打开为只读,这将确保应用程序能够红,即使它被另一个用户锁定打开该文件。

希望这有助于

+0

我在本地机器上测试过相同的应用程序。当我在服务器中放置相同的逻辑时,它会发生错误。 – Nag 2010-10-29 09:59:50

+0

这可能是服务器上的电子表格被其他人打开(因为我不知道你的系统的布局),所以它会适合你的本地版本,但在服务器上失败。您也可以在本地系统上安装与该exe相关的电子表格的其他版本,但该服务器上的相对路径中没有电子表格。 – DJIDave 2010-10-29 10:09:57

+0

我正在使用来自其他服务器的共享路径。 – Nag 2010-10-29 10:16:31

2

我得到确切同样的错误,但在我的情况,我想(从潮汐企业调度程序)所使用microsoft.interop.excel一个.NET应用程序运行。

,答案已经在计算器: [Microsoft Office Excel cannot access the file 'c:\inetpub\wwwroot\Timesheet\App_Data\Template.xlsx'

我会重新名单从该链接的步骤:

  1. 创建目录“C:\ WINDOWS \ Syswow64资料\ CONFIG \ systemprofile \桌面”(64和Windows)或“C:\的Windows \ system32 \设置\ systemprofile \桌面”(对于32和Windows)

  2. 上桌面目录

    设置完全控制权限以上(例如在Win7 & IIS 7个&用户默认应用设置权限‘IIS程序池\默认应用’)

当然,如果你正在运行一个计划任务,而不是Web应用程序,你需要确保你正在使用的服务帐户具有文件夹的权限。

C:\test.xlsx 

当试图保存到根目录下,它似乎会导致问题:

0

我想保存时有同样的错误。改变我的路径:

C:\MyExcelTests\test.xlsx 

工作的罚款