Вызов метода C # Add-In непосредственно из shape-action - PullRequest
1 голос
/ 02 августа 2011

У меня есть следующий параметр: я написал надстройку для Visio 2010 с VSTO, и эта надстройка добавляет еще одну ленту в пользовательский интерфейс. Из этого пользовательского интерфейса можно открывать новые формы и делать интересные вещи.

С помощью более старой версии инструмента, которую я переписал, можно было щелкнуть правой кнопкой мыши по фигуре и открыть форму прямо из фигуры. Это было сделано путем добавления действия к форме, которая выглядела так:

=RUNADDON("VS2.EXE")

где VS2.exe был исполняемым файлом, открывшим другую форму (который должен был находиться в пути поиска Visio).

У меня вопрос: есть ли простой способ вызова метода в надстройке / ленте изнутри действия формы или нет? Что-то вроде:

=RUNADDON("MyAddIn.MyMethod()")

Связанная информация, которую я нашел (но не ответил на этот вопрос), была

Спасибо за любой ответ или предложение.

1 Ответ

2 голосов
/ 13 февраля 2016

Если вы хотите вызвать действие в своей надстройке из ShapeSheet, вам нужно вызвать событие, используя одну из двух следующих функций:

QUEUEMARKEREVENT ("Моя ContextString") Смотри https://msdn.microsoft.com/en-us/library/office/ff767955.aspx

RUNADDONWARGS ("QueueMarkerEvent", "My ContextString") Смотри https://msdn.microsoft.com/EN-US/library/office/ff768158.aspx

Первый новее и сделан специально для этой цели. Ваша надстройка должна прослушивать Application.MarkerEvent для захвата вызванных событий.

В Visio SDK есть примеры

...