Как я могу сохранить сообщение Outlook из буфера обмена в файл? - PullRequest
4 голосов
/ 17 января 2011

Если я выберу сообщение Outlook из своей папки «Входящие» и скопирую его в буфер обмена, я могу вставить его в виде файла * .msg на рабочий стол.

Теперь я хочу реализовать ту же функцию в своем приложении.

Объект Clipboard содержит следующие элементы:

RenPrivateSourceFolder
RenPrivateMessages
RenPrivateItem
FileGroupDescriptor
FileGroupDescriptorW
FileDrop
FileNameW
FileName
FileContents
Object Descriptor
System.String
UnicodeText
Text

FileGroupDescriptor содержит MemoryStream с именем файла (Subject.msg), но я не знаю, как создать копиюиз сообщения outlook из данных буфера обмена, поскольку ни один из элементов, по-видимому, не содержит самого сообщения.

Есть предложения?

Ответы [ 2 ]

6 голосов
/ 17 января 2011

Вот пример: Перетаскивание в Outlook в C # .Статья работает с перетаскиванием, но она должна быть похожей, если не идентична для работы с буфером обмена.

0 голосов
/ 17 января 2011

Не уверен, что это будет работать, но вы должны сделать что-то вроде:

if (Clipboard.ContainsText(System.Windows.Forms.TextDataFormat.Text))
{
    IDataObject data = Clipboard.GetDataObject();
    Outlook.Application oApp = new Outlook.Application();
    Outlook.MailItem oMsg = (Outlook.MailItem)data.GetData(DataFormats.Text, true);
}
...