У меня есть надстройка Word 2007 VSTO для создания шаблонов документов.Это позволяет добавлять специальные элементы управления контентом для циклов или условий.Элементы управления контентом привязаны к пользовательским данным XML-детали (используя ID элемента управления контентом в качестве ссылки).
Мне нужно разрешить пользователю копировать и вставлять CC.Word автоматически меняет свой идентификатор, поэтому я потерял ссылку на пользовательскую часть XML.
Есть ли способ перехватить команду вставки Word и получить доступ к вставленному диапазону - Элементы управления содержимым?
Вы также можете использовать событие Document.SelectionChange для VstoObject документа, вы можете получить его, используя Microsoft.Office.Tools.Word.Document.GetVstoObject()
Document.SelectionChange
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 } }
Я не уверен, что это поможет вам, подключите событие XMLSelectionChange в вашем проекте.Это событие имеет следующие параметры
(Selection Sel, XMLNode OldXMLNode, XMLNode NewXMLNode, ref int Reason)
Sel.Range должен дать диапазон, который вы ищете.