Требуется объяснение CustomTaskPanes - PullRequest
0 голосов
/ 01 июня 2011

Кажется, что пользовательские панели задач совместно используются всеми книгами в процессе Excel, так как свойство CustomTaskPanes находится на уровне объекта надстройки и, таким образом, оно используется всеми книгами.(я прав?)
Мне нужно показывать разное содержимое на панели задач для разных книг, как мне этого добиться?

Ответы [ 2 ]

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

Вы правы, настраиваемые области задач регистрируются на уровне приложения.

Из коробки вы должны использовать конструктор лент, это не имеет значения, если вы не создаете ленту, но это лучший способ добиться того, чего вы хотите. В загруженном событии ленты вам нужно получить доступ к Globals.ThisAddin.CustomTaskPanes, чтобы зарегистрировать панель задач, если она не зарегистрирована, а затем обновить содержимое на основе текущего контекста. Я не уверен, к каким событиям вам нужно подключиться, но, вероятно, нужно знать, когда активируется / выбирается новая книга, и обновлять панель задач.

Я работал над проектом ( VSTO Contrib ), который пытается решить это разъединение. RibbonFactory позволит вам зарегистрировать модель представления для типа объекта / ленты (Word.Document, Outlook.Appointment). и т.д.), и вы можете просто унаследовать от IRegisterCustomTaskPanes, чтобы подключить настраиваемую область задач для этой книги / документа / любого другого контекста. Он позаботится обо всей синхронизации для вас. Прочитайте, что он может сделать на http://jake.ginnivan.net/vsto-contrib/ribbon-factory Не стесняйтесь связаться со мной или написать здесь для получения дополнительной информации.

0 голосов
/ 29 сентября 2011

Панели действий - это функциональные возможности для каждого документа в соответствии с 2007/2010, см. Панели действий MSDN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...