Получить вложение, которое я нажимаю и перетаскиваю? - PullRequest
0 голосов
/ 12 октября 2018

Использование Outlook Interop Я не понимаю, как получить (C #) вложение, которое я щелкнул, а затем перетащить его, чтобы удалить.

Свойство Explorer «AttachmentSelection» возвращает выбранные вложения, но не щелкнуло.

Например, у меня выбрано вложение "demo.xlsm", а затем я нажимаю на demo.rar (не оставляя мышку), перетаскивая его в какое-нибудь приложение winform ... Так что demo.rar фактически не выбран(но demo.xlsm делает).

Мой вопрос: как получить нажатое вложение?

enter image description here

1 Ответ

0 голосов
/ 15 октября 2018

Вы можете получить выбранное вложение с кодом ниже:

 public void DoSomething(Office.IRibbonControl control)
{
    var window = plugin.Application.ActiveWindow();
    var attachsel = window.AttachmentSelection();

    int? index = null;
    if (attachsel.count > 0)
    {
        var attachment = attachsel[1];
        index = attachment.Index;
    }

    var explorer = plugin.Application.ActiveExplorer();
    var selection = explorer.Selection;

    if ((selection.Count > 0) && (index != null))   
    {
        object selectedItem = selection[1];
        var mailItem = selectedItem as Outlook.MailItem;
        foreach (Outlook.Attachment attach in mailItem.Attachments)
        {
            if (attach.Index == index)
            {
                attach.SaveAsFile(Path.Combine(@"c:\temp\", attach.FileName));
            }
        }

    }
}

Для получения дополнительной информации вы можете обратиться по этой ссылке:

VSTO Outlook: Получить выбранное вложение

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