c# outlook add-in outlook-2010

c# - ¿Cómo obtengo el texto seleccionado de un objeto WordEditor(en Outlook2010) y lo copio a otro formulario?



add-in outlook-2010 (3)

Debe solicitar el inspector activo desde el objeto Application . Globals.ThisAddIn.Application.ActiveInspector() le proporcionará la referencia del inspector actualmente activo, que luego puede solicitar el elemento CurrentItem y convertirlo en una referencia de artículo de MailItem si el artículo es de tipo MailItem ( también podría ser un elemento de calendario, un artículo de tarea, un artículo de nota, etc. . ).

Quiero copiar el texto seleccionado de WordEditor (cuerpo del correo electrónico de Outlook) a otro formulario cuando busqué, encontré esa parte del código para copiar al nuevo documento de Word usando Microsoft.Office.Interop.Word.Document

Outlook.MailItem mailItem; Outlook.Inspector inspector = mailItem.GetInspector; // Obtain the Word.Document object from the Inspector object Word.Document document = (Word.Document)inspector.WordEditor; // Copy the selected objects document.Application.Selection.Copy();

siempre obtengo un error con la pieza mailItem.GetInspector (la refrencia del objeto no está configurada como instancia del objeto)


para empezar, no está usando OutLook.MailItem correctamente ... use algo como esto como prueba y utilícelo y realice los cambios que considere adecuados para su UseCase

public void ShowEmail(string To, string Subject, string Body) { Outlook.Application myOutlook = new Outlook.Application(); Outlook.NameSpace myNamespace = myOutlook.GetNamespace("MAPI"); myNamespace.Logon(null, null, null, null); Outlook.MAPIFolder outbox = myNamespace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderOutbox); Outlook.MailItem mail = (Outlook.MailItem)outbox.Items.Add(Outlook.OlItemType.olMailItem); mail.Recipients.Add(To); mail.Subject = Subject; mail.Body = Body; mail.GetInspector.Activate(); } Go ahead and test it, create a button on your form and in the Click event handler: private void button1_Click(object sender, EventArgs e) { ShowEmail("youremailOutlookAddress.com", "Hello!", "Hey here''s a test Email!"); }

OutLookMailItem cómo usar Outlook


Establezca el objeto MailItem en "objExplorer.Selection [1] como Microsoft.Office.Interop.Outlook.MailItem;" donde objExplorer = AddIn name.Globals.ThisAddIn.Application.ActiveExplorer ();