2010-05-06 10 views
1

Я пишу приложение форм C#, чтобы открыть существующую книгу Excel с помощью Excel Interop. Все работает нормально. Я умею хорошо читать и писать. Я не сохраняю книгу, пока пользователь не закроет приложение C#. Проблема возникает, когда моя программа запущена, и пользователь случайно открывает ту же книгу с помощью Excel. Я получаю ошибку:Проблема открытия книги Excel с помощью Excel Interop

Исключение из HRESULT: 0x800401A8

на этой линии

Диапазон excelRange = worksheet.UsedRange;

Есть ли способ заблокировать книгу и не разрешить пользователю открывать ее с помощью Excel, когда моя программа запущена?

Благодаря

ответ

1

Там, вероятно, некоторые лучший способ сделать это, но единственный способ, которым я могу думать о том, будет заключаться в следующем:

  1. Скопируйте Excel файл во временную папку
  2. блокировки файла в первоначальное местоположение, так что никто не может получить к нему доступ.
  3. Работа с временным файлом.
  4. Сохраните и закройте временный файл.
  5. Разблокируйте и удалите исходный файл.
  6. Скопируйте временный файл в исходное местоположение.
Смежные вопросы