2015-01-16 3 views
0

Мое слово addin записывает материал в документ в событие AddIn_Startup (конечно, при некоторых условиях ;-)). Когда документ восстанавливается, большую часть времени в документе восстанавливается текст, и я не хочу писать в восстановленном файле с помощью сгенерированного текста.VSTO - Определить, восстановлен ли документ в Word Addin

Так что мне нужно знать, как можно определить, восстанавливается ли ActiveDocument.

Я использую C# и инструментов Visual Studio для Office 2010.

+0

Можете ли вы показать нам какой-нибудь код? – invidicult

+0

Ну, мне просто нужно условие для написания текста в документе, например, if (Application.ActiveDocument.IsInRecoveryMode) Но я не могу найти что-нибудь подобное. –

ответ

0

объектная модель Слово не дает ничего для этого. Но вы можете использовать CustomDocumentProperties для добавления маркера, который вы уже добавили в документ. Для получения дополнительной информации см. Свойство CustomDocumentProperties класса Document. Он возвращает коллекцию DocumentProperties, которая представляет все пользовательские свойства документа для указанного документа. Перед добавлением текста вы можете проверить значение настраиваемого свойства и решить, нужно ли вам добавлять текст или нет.

+0

Это правильно, но что делать, если пользователь пишет стандартный текст без использования addin. Экземпляр Word разбивается, и в следующий раз он начинает вводить слово в условиях, когда мой аддон начинает работать. My addin начинает работать, когда я открываю слово из другой программы, над которой я работаю. Итак, если кто-то запустит Word и напишет какой-то текст и сбой экземпляра, в следующий раз файл будет восстановлен из Word. Но если он запустит Word в следующий раз из моей программы, Addin напишет текст в восстановленный файл, который не имеет ничего общего с сгенерированным текстом. –

+1

В этом случае вам придется искать текст в документе. Ничего нельзя сделать. –

+0

Да, это то, чего я боялся. Благодаря! –