使用Excel Interop打开Excel工作簿时出现问题

我正在编写一个C#表单应用程序,以使用Excel Interop打开现有的Excel工作簿。 一切正常。 我可以读写很好。 在用户关闭C#应用程序之前,我不保存工作簿。 当我的程序正在运行并且用户意外地用Excel打开相同的工作簿时,会发生问题。 我收到错误:

来自HRESULT的异常:0x800401A8

在这条线上

范围excelRange = worksheet.UsedRange;

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

谢谢


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

  • 将Excel文件复制到临时位置
  • 将文件锁定在原始位置,以便无人可以访问它。
  • 使用临时文件。
  • 保存并关闭临时文件。
  • 解锁并删除原始文件。
  • 将临时文件复制到原始位置。
  • 链接地址: http://www.djcxy.com/p/35671.html

    上一篇: Problem opening Excel workbook using Excel Interop

    下一篇: Differences between the method of closing a excel file