Команда вставки слова крючка - PullRequest
1 голос
/ 16 марта 2012

У меня есть надстройка Word 2007 VSTO для создания шаблонов документов.Это позволяет добавлять специальные элементы управления контентом для циклов или условий.Элементы управления контентом привязаны к пользовательским данным XML-детали (используя ID элемента управления контентом в качестве ссылки).

Мне нужно разрешить пользователю копировать и вставлять CC.Word автоматически меняет свой идентификатор, поэтому я потерял ссылку на пользовательскую часть XML.

Есть ли способ перехватить команду вставки Word и получить доступ к вставленному диапазону - Элементы управления содержимым?

Ответы [ 2 ]

2 голосов
/ 29 сентября 2012

Вы также можете использовать событие Document.SelectionChange для VstoObject документа, вы можете получить его, используя Microsoft.Office.Tools.Word.Document.GetVstoObject()

Пример:

using WordTools = Microsoft.Office.Tools.Word;

WordTools.Document vstoDocument = Microsoft.Office.Tools.Word.Document.GetVstoObject(Globals.ThisAddIn.Application.ActiveDocument);
vstoDocument.SelectionChange += new WordTools.SelectionEventHandler(Document_SelectionChange);

private void Document_SelectionChange(object sender, WordTools.SelectionEventArgs e)
{
    if (e.Selection.Range.Text != null)
    {
        // your code
    }
}
0 голосов
/ 23 марта 2012

Я не уверен, что это поможет вам, подключите событие XMLSelectionChange в вашем проекте.Это событие имеет следующие параметры

(Selection Sel, XMLNode OldXMLNode, XMLNode NewXMLNode, ref int Reason)

Sel.Range должен дать диапазон, который вы ищете.

...