Ограничить доступ к файлу Excel, открытому программой C # - PullRequest
1 голос
/ 28 июля 2010

Вопрос 1:

Я открыл файл Excel с

Excel.Application app = new Excel.ApplicationClass();
Excel.Workbook Wbook = app.Workbooks.Open("aaa.xlsx",...);

Теперь я хочу остановить доступ других программ к «aaa.xlsx».(хотите ограничить доступ другими программами, такими как excel.exe и т. д.)

Есть ли какие-либо параметры, которые я могу установить для блокировки / блокировки / ограничения открытия файлов?

Вопрос 2:

С тех пор, как я это сделал,

Excel.Application app = new Excel.ApplicationClass();

Я создал новый экземпляр Excel.Я хочу скрыть это от внешнего использования.(Я не хочу, чтобы он появлялся, когда какой-нибудь случайный файл Excel дважды щелкает по системе.)

Есть ли что-то, что я могу сделать, чтобы предотвратить его автоматический вызов?

Любая помощь будет высоко ценится.

Ответы [ 2 ]

0 голосов
/ 28 июля 2010

Уродливое решение, но вы можете сделать это:

Откройте и заблокируйте файл самостоятельно.Скопируйте его во временную папку, загрузите его в скрытое окно.После сохранения скопируйте его обратно в исходное местоположение.Обратите внимание, что обе эти копии должны быть реализованы в вашей программе, так как блокировка не позволит Windows сделать это.

0 голосов
/ 28 июля 2010

Вероятно, это должны быть отдельные вопросы, но я постараюсь.

Кроме того, будьте осторожны: я уже давно не занимался Office Automation и у меня нет документов, поэтому я ухожу из памяти.

Объект Excel.Application должен иметь свойство Visible. Установите значение false, чтобы скрыть приложение.

Что касается открытия документа, проверьте документы, чтобы увидеть, есть ли какие-либо параметры, такие как «FileAccess». Я не могу вспомнить от руки, но я буду продолжать искать ...

Редактировать: Хорошо, я нашел документацию по MSDN, но, похоже, нет никакого способа указать, что Excel должен блокировать документ, пока он открыт. К сожалению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...