【问题标题】:Problem opening Excel workbook using Excel Interop使用 Excel 互操作打开 Excel 工作簿时出现问题
【发布时间】:2010-05-06 08:52:56
【问题描述】:

我正在编写一个 C# 表单应用程序来使用 Excel 互操作打开现有的 Excel 工作簿。一切正常。我可以很好地阅读和写作。在用户关闭 C# 应用程序之前,我不会保存工作簿。当我的程序正在运行并且用户不小心使用 Excel 打开同一个工作簿时,就会出现问题。我得到了错误:

HRESULT 异常:0x800401A8

在这一行

范围 excelRange = worksheet.UsedRange;

有没有办法在我的程序运行时锁定工作簿并且不允许用户使用 Excel 打开它?

谢谢

【问题讨论】:

    标签: c# windows excel forms interop


    【解决方案1】:

    可能有更好的方法可以做到这一点,但我能想到的唯一方法是:

    1. 将 Excel 文件复制到临时位置
    2. 将文件锁定在原始位置,这样任何人都无法访问它。
    3. 使用临时文件。
    4. 保存并关闭临时文件。
    5. 解锁并删除原始文件。
    6. 将临时文件复制到原始位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 2014-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多