【问题标题】:Workbooks.Open cannot find file, but path is correctWorkbooks.Open 找不到文件,但路径正确
【发布时间】:2012-06-15 17:37:00
【问题描述】:

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

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

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

我收到的错误消息:https://dl.dropbox.com/u/46698764/cantFindFile.png 既然它说 COMException,我想我的问题可能是因为我未选中“注册 COM 互操作”框。如果是这种情况,有人可以推荐另一种打开工作簿的方法吗?

如果重要的话,我有 Excel 2010。

【问题讨论】:

    标签: c# excel comexception


    【解决方案1】:

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

    Application.StartupPath

    GetCurrentDirectory

    【讨论】:

    • 对,但我提到我试过了。我犯了同样的错误。完整路径没有帮助。
    • 这是在哪个目录运行的?这可能是 Windows Vista/7 的权限问题吗?您是否尝试过完全在您的目录结构之外的绝对路径,例如指向我的文档文件夹中的某些内容?
    • 目前它在这里:C:\TK Workspace\TK 但是,我也在我的文档和桌面上进行了尝试。都没有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    相关资源
    最近更新 更多