Получение событий, когда пользователь нажимает Вставить диаграмму в Word - PullRequest
0 голосов
/ 16 июня 2011

Я пытаюсь перехватить события, когда пользователь вставляет диаграмму в Word 2007/2010. Я знаю, что с помощью VBA вы можете привязывать события к определенным кнопкам на ленточном интерфейсе. Однако вставка диаграммы не вызывает никаких событий. Мне интересно, предоставляет ли VSTO больше объектов и событий по сравнению с VBA для автоматизации делопроизводства. Любые комментарии или указатели приветствуются.

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Нет. VSTO не раскрывает больше событий определенным образом и в некотором смысле ограничивает события тем, что вы могли бы получить, используя IExtensibility.

Тем не менее, насколько я знаю, для "нового графика" нет "явного" события.

Но у вас все еще есть несколько вариантов.

Можно посмотреть Doc.Changed и обнаружить добавление графика. Не обязательно легко, но выполнимо.

другим может быть навигация по старым коллекциям команд Панели инструментов и панелей инструментов, поиск меню «ДОБАВИТЬ КАРТУ» или элемента панели инструментов и удаление события щелчка. Я использовал эту технику, чтобы переопределить такие вещи, как FILE / SAVE и т. Д. Раньше. Это не надежно, но может работать для некоторых вещей ...

0 голосов
/ 17 июня 2011

К сожалению, VSTO - это только управляемая оболочка для библиотек Office Interop, поэтому она не имеет больше ловушек, чем использование библиотек Interop. Это просто облегчает разработку надстроек с помощью помощников и дает нам поддержку дизайнеров

...