¿Cómo puedo guardar un mensaje de Outlook desde el portapapeles a un archivo?
Pregunta
Si selecciono un mensaje de Outlook desde la Bandeja de entrada y copiarlo en el portapapeles que puede pegar como un archivo * .msg en el escritorio.
Ahora quiero poner en práctica la misma función para mi aplicación.
El objeto Clipboard contiene los siguientes elementos:
RenPrivateSourceFolder
RenPrivateMessages
RenPrivateItem
FileGroupDescriptor
FileGroupDescriptorW
FileDrop
FileNameW
FileName
FileContents
Object Descriptor
System.String
UnicodeText
Text
FileGroupDescriptor
contiene una MemoryStream
con el nombre de archivo (Subject.msg), pero no sé cómo crear una copia del mensaje de Outlook a partir de los datos del portapapeles, ya que ninguno de los elementos parecen contener el mensaje mismo.
alguna sugerencia?
Solución
Este es un ejemplo: Drag and Drop de Outlook en C # . El artículo funciona con arrastrar y soltar, pero debería ser similar, si no idéntico para trabajar con el portapapeles.
Otros consejos
No estoy seguro si esto va a funcionar, pero hay que hacer algo como:
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);
}