Начать добавление Outlook с лентой

1

Я разрабатываю Outlook Add In. Это уже почти сделано, но есть одна вещь, на которую я, похоже, не могу пощупать палец. В моем проекте (Outlook Add In) я добавил новый элемент (Ribbon (Visual Designer)), который я назвал EmailTransferRibbon. Эта лента отображается в Outlook. Я хочу, чтобы начать мой Outlook Add In, когда я нажимаю на эту кнопку ленты.

Вот как выглядит моя лента:

public partial class EmailTransferRibbon
{
    private void EmailTransferRibbon_Load(object sender, RibbonUIEventArgs e)
    {   
    }

    private void btnEmailTransfer_Click(object sender, RibbonControlEventArgs e)
    {
    }
}

И это добавление, в котором я хочу, чтобы кнопка ленты была доступна:

public partial class ThisAddIn
{
    EmailTransferForm emailTransferForm = new EmailTransferForm();

    public void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        InboxFolderItemAdded();
        Button btnRefresh = emailTransferForm.Controls.Find("btnRefresh", true).FirstOrDefault() as Button;
        btnRefresh.Click += new System.EventHandler(this.btnRefresh_Click);

    }
}

Я попытался сделать что-то подобное, но это проблема, потому что RibbonControlEventArgs не совпадает с System EventArgs:

var addIn = Globals.ThisAddIn;
addIn.ThisAddIn_Startup(sender, e);

Может ли кто-нибудь сказать мне, как начать мой ввод, нажав кнопку ленты? благодарю!

Теги:
outlook-addin
ribbon
eventargs

1 ответ

0
Лучший ответ

Вы можете настроить надстройку на "load on demand", которая может создать ваш Ribbon UI и эффективно кэшировать вашу надстройку, пока вы не захотите полностью загрузить ее:

Demand-Loading VSTO Add-ins - Andrew Whitechapel - Главная страница сайта - Блоги MSDN http://blogs.msdn.com/b/andreww/archive/2008/07/14/demand-loading-vsto-add-ins.aspx

Если вы не хотите, чтобы ваша надстройка загружалась вообще до тех пор, пока вы не нажмете кнопку, тогда этой кнопке необходимо будет вызвать код VBA для загрузки надстройки, или кнопка должна быть оснащена другой надстройкой, которая будет загрузите надстройку. В любом случае вам нужно использовать модель объектов Office для доступа к коллекции COMAddins из Outlook.Application.COMAddINs и получить конкретный объект COMAddIn для вашей надстройки (соответствие по значению ProgID) и установить Connect = True для загрузки вашего добавления -в.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню