Complemento de carpeta especial de Outlook 2010

Actualmente, mi objetivo es crear el complemento de Outlook, que crearía una carpeta de archivo específica. La diferencia con el normal es que el mío debería proporcionarme un control total sobre el contenido del artículo durante su entrada o salida.

Hablando en breve, debería poder escanear el contenido binario de los elementos antes de que realmente se mueva a mi carpeta o se elimine de mi carpeta. Voy a copiar algunos de esos artículos al sitio de la red.

Por favor, aconseje mi documentación correcta o muestras para mi situación.

preguntado el 03 de mayo de 12 a las 16:05

1 Respuestas

Suponiendo que está usando Visual Studio 2010, lo más probable es que comience creando un proyecto de Visual Studio Tools para Office (VSTO) para crear su complemento. Mirar aquí para obtener detalles sobre VSTO y Visual Studio.

Una vez que esté en funcionamiento, tendrá un archivo de origen llamado ThisAddIn.cs que contiene el "punto de entrada principal" en su complemento. Desde allí, puede conectarse a eventos que Outlook generará cuando ocurran ciertos eventos. Lo más probable es que te interesen los siguientes eventos:

  • BeforeFolderSwitch
  • Cambiar de carpeta

Tu código se verá así:

private void ThisAddIn_Startup(object sender, EventArgs e)
{
    var explorer = this.Application.ActiveExplorer();
    explorer.BeforeFolderSwitch += new ExplorerEvents_10_BeforeFolderSwitchEventHandler(explorer_BeforeFolderSwitch);
    explorer.FolderSwitch += new ExplorerEvents_10_FolderSwitchEventHandler(explorer_FolderSwitch);
}

/// <summary>
/// Handler for Outlook's "BeforeFolderSwitch" event. This event fires before the explorer goes to
/// a new folder, either as a result of user action or through program code.
/// </summary>
/// <param name="NewlySelectedFolderAsObject">
/// The new folder to which navigation is taking place. If, for example, the user moves from "Inbox"
/// to "MyMailFolder", the new current folder is a reference to the "MyMailFolder" folder.
/// </param>
/// <param name="Cancel">
/// A Boolean describing whether or not the operation should be canceled.
/// </param>
void explorer_BeforeFolderSwitch(object NewlySelectedFolderAsObject, ref bool Cancel)
{
    if (NewlySelectedFolderAsObject == null)
        return;
    var newlySelectedFolderAsMapiFolder = NewlySelectedFolderAsObject as MAPIFolder; 
}

void explorer_FolderSwitch()
{
}

Su código debe colocarse en esos controladores de eventos para realizar su trabajo.

contestado el 03 de mayo de 12 a las 16:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.