Word Automation - Отключить оповещения - PullRequest
4 голосов
/ 22 ноября 2010

Я автоматизирую Word, поэтому я хотел бы отключить все оповещения.

Word.Application word = new Word.Application();
word.DisplayAlerts = Microsoft.Office.Interop.Word.WdAlertLevel.wdAlertsNone;

Я использую код, указанный выше, но продолжаю получать сообщения из Word - например, документ уже открыт.Есть ли способ избежать этого?Как подавить все эти глупые почтовые ящики?

РЕДАКТИРОВАТЬ :
Концентрируясь на всех ответах, я думаю, что сторожевой таймер - действительно единственный вариант.К плохому ничего не изменилось за последние годы.

Тема может быть закрыта без реального ответа.

1 Ответ

3 голосов
/ 22 ноября 2010

Часть кода, которую вы разместили, очевидно, выглядит правильно, но мне недостаточно воспроизвести описанное вами поведение. Однако ...

У меня есть сильное подозрение, что ответ заключается в том, что вы не можете полностью подавить сообщения в Word. Он был разработан как интерактивное приложение пользователя, а настройка DisplayAlerts является хитом или пропустить предложение. Некоторые ошибки выглядят так, как будто они могут быть исключены из указанного параметра оповещения и отображаться в любом случае. Например, я видел орфографические и грамматические ошибки, ведущие себя так же.

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

...