Workbooks.Open无法找到文件,但路径正确

时间:2012-06-15 17:37:01

标签: c# excel comexception

我正在为Autodesk Inventor构建一个C#插件。这是唯一的原因是因为我必须取消选中“注册COM Interop”框。

这是我正在使用的。 xls总是在代码运行的同一目录中。我也尝试过这个绝对路径,但是我得到了同样的错误。 bool仅用于测试,但它返回true。该文件不是只读的。

bool fileExists = File.Exists ("Assembly3.xls");
xlBook = xlApp.Workbooks.Open ("Assembly3.xls");

我收到错误消息:https://dl.dropbox.com/u/46698764/cantFindFile.png 因为它说的是COMException,我认为我的问题可能是因为我取消选中“Register for COM Interop”框。如果是这种情况,有人可以推荐一种不同的方式来打开工作簿吗?

如果重要,我有Excel 2010。

1 个答案:

答案 0 :(得分:1)

尝试指定完整路径。 Excel可能正在使用不同的启动目录打开,并且可能在该目录中查找XLS文件。由于您是作为插件托管的,因此您可能需要使用不同的方式来获取路径。一些开始的地方是:

Application.StartupPath

GetCurrentDirectory