Tutorial: Crear el primer complemento de VSTO para OutlookWalkthrough: Creating Your First VSTO Add-In for Outlook

Este tutorial muestra cómo crear un complemento de VSTO para Microsoft Office Outlook.This walkthrough shows you how to create a VSTO Add-in for Microsoft Office Outlook. Las características que cree en este tipo de solución estarán disponibles para la propia aplicación, con independencia del elemento de Outlook que se abra.The features that you create in this kind of solution are available to the application itself, regardless of which Outlook item is open. Para obtener más información, vea información general sobre el desarrollo de soluciones de Office ( VSTO ) .For more information, see Office Solutions Development Overview (VSTO).

Aplicación: la información de este tema se aplica a los proyectos de complemento de VSTO para Outlook.Applies to: The information in this topic applies to VSTO add-in projects for Outlook. Para obtener más información, consulte Características disponibles por aplicación y tipo de proyecto de Office.For more information, see Features Available by Office Application and Project Type.

En este tutorial se muestran las tareas siguientes:This walkthrough illustrates the following tasks:

  • Crear un proyecto de complemento VSTO de Outlook para Outlook.Creating an Outlook VSTO Add-in project for Outlook.

  • Escribir código que use el modelo de objetos de Outlook para agregar texto al asunto y al cuerpo de un nuevo mensaje de correo.Writing code that uses the object model of Outlook to add text to the subject and body of a new mail message.

  • Compilar y ejecutar el proyecto para probarlo.Building and running the project to test it.

  • Limpiar el proyecto completado para que el complemento de VSTO deje de ejecutarse automáticamente en el equipo de desarrollo.Cleaning up the completed project so that the VSTO Add-in no longer runs automatically on your development computer.

    Nota

    Es posible que tu equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las siguientes instrucciones.Your computer might show different names or locations for some of the Visual Studio user interface elements in the following instructions. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos.The Visual Studio edition that you have and the settings that you use determine these elements. Para obtener más información, vea Personalizar el IDE.For more information, see Personalizing the IDE.

Requisitos previosPrerequisites

Necesita los componentes siguientes para completar este tutorial:You need the following components to complete this walkthrough:

Crear el proyectoCreating the Project

Para crear un nuevo proyecto de Outlook en Visual StudioTo create a new Outlook project in Visual Studio

  1. Inicie Visual StudioVisual Studio.Start Visual StudioVisual Studio.

  2. En el menú Archivo , elija Nuevoy haga clic en Proyecto.On the File menu, point to New, and then click Project.

  3. En el panel de plantillas, expanda Visual C# o Visual Basicy luego expanda Office/SharePoint.In the templates pane, expand Visual C# or Visual Basic, and then expand Office/SharePoint.

  4. En el nodo Office/SharePoint expandido, seleccione el nodo Complementos de Office .Under the expanded Office/SharePoint node, select the Office Add-ins node.

  5. En la lista de plantillas de proyecto, elija un proyecto de complemento VSTO de Outlook.In the list of project templates, choose an Outlook VSTO Add-in project.

  6. En el cuadro Nombre , escriba FirstOutlookAddIn.In the Name box, type FirstOutlookAddIn.

  7. Haga clic en Aceptar.Click OK.

    Visual StudioVisual Studio crea el proyecto FirstOutlookAddIn y abre el archivo de código ThisAddIn en el editor. creates the FirstOutlookAddIn project and opens the ThisAddIn code file in the editor.

Escribir código que agregue texto a cada nuevo mensaje de correoWriting Code that Adds Text to Each New Mail Message

A continuación, agregue código al archivo de código ThisAddIn.Next, add code to the ThisAddIn code file. El nuevo código usa el modelo de objetos de Outlook para agregar texto a cada nuevo mensaje de correo.The new code uses the object model of Outlook to add text to each new mail message. De forma predeterminada, el archivo de código ThisAddIn contiene el siguiente código generado:By default, the ThisAddIn code file contains the following generated code:

  • Una definición parcial de la clase ThisAddIn .A partial definition of the ThisAddIn class. Esta clase proporciona un punto de entrada para el código y proporciona acceso al modelo de objetos de Outlook.This class provides an entry point for your code and provides access to the object model of Outlook. Para obtener más información, consulta Programming VSTO Add-Ins. El resto de la clase ThisAddIn se define en un archivo de código oculto que no se debe modificar.For more information, see Programming VSTO Add-Ins. The remainder of the ThisAddIn class is defined in a hidden code file that you should not modify.

  • Los controladores de eventos ThisAddIn_Startup y ThisAddIn_Shutdown .The ThisAddIn_Startup and ThisAddIn_Shutdown event handlers. Se llama a estos controladores de eventos cuando Outlook carga y descarga el complemento VSTO.These event handlers are called when Outlook loads and unloads your VSTO Add-in. Use estos controladores de eventos para inicializar el complemento de VSTO cuando se cargue y para limpiar los recursos que usa el complemento de VSTO cuando se descargue.Use these event handlers to initialize your VSTO Add-in when it is loaded, and to clean up resources used by your VSTO Add-in when it is unloaded. Para obtener más información, consulta Events in Office Projects.For more information, see Events in Office Projects.

Para agregar texto al asunto y al cuerpo de cada nuevo mensaje de correoTo add text to the subject and body of each new mail message

  1. En el archivo de código ThisAddIn, declare un campo denominado inspectors en la clase ThisAddIn .In the ThisAddIn code file, declare a field named inspectors in the ThisAddIn class. El campo inspectors mantiene una referencia a la colección de ventanas de Inspector en la instancia actual de Outlook.The inspectors field maintains a reference to the collection of Inspector windows in the current Outlook instance. Esta referencia impide que el recolector de elementos no usados libere la memoria que contiene el controlador de eventos para el evento Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector .This reference prevents the garbage collector from freeing the memory that contains the event handler for the Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector event.

    Private WithEvents inspectors As Outlook.Inspectors
    
    Outlook.Inspectors inspectors;
    
  2. Reemplace el método ThisAddIn_Startup por el código siguiente.Replace the ThisAddIn_Startup method with the following code. Este código asocia un controlador de eventos al evento Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector .This code attaches an event handler to the Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector event.

    Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Startup
        inspectors = Me.Application.Inspectors
    End Sub
    
    private void ThisAddIn_Startup(object sender, System.EventArgs e)
    {
        inspectors = this.Application.Inspectors;
        inspectors.NewInspector +=
        new Microsoft.Office.Interop.Outlook.InspectorsEvents_NewInspectorEventHandler(Inspectors_NewInspector);
    }
    
  3. En el archivo de código ThisAddIn, agregue el código siguiente a la clase ThisAddIn .In the ThisAddIn code file, add the following code to the ThisAddIn class. Este código define un controlador de eventos para el evento Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector .This code defines an event handler for the Microsoft.Office.Interop.Outlook.InspectorsEvents_Event.NewInspector event.

    Cuando el usuario crea un nuevo mensaje de correo, este controlador de eventos agrega texto a la línea de asunto y al cuerpo del mensaje.When the user creates a new mail message, this event handler adds text to the subject line and body of the message.

    Private Sub inspectors_NewInspector(ByVal Inspector As Microsoft.Office.Interop.Outlook.Inspector) Handles inspectors.NewInspector
        Dim mailItem As Outlook.MailItem = TryCast(Inspector.CurrentItem, Outlook.MailItem)
        If Not (mailItem Is Nothing) Then
            If mailItem.EntryID Is Nothing Then
                mailItem.Subject = "This text was added by using code"
                mailItem.Body = "This text was added by using code"
            End If
        End If
    End Sub
    
    void Inspectors_NewInspector(Microsoft.Office.Interop.Outlook.Inspector Inspector)
    {
        Outlook.MailItem mailItem = Inspector.CurrentItem as Outlook.MailItem;
        if (mailItem != null)
        {
            if (mailItem.EntryID == null)
            {
                mailItem.Subject = "This text was added by using code";
                mailItem.Body = "This text was added by using code";
            }
    
        }
    }
    

    Para modificar cada nuevo mensaje de correo, los ejemplos de código anteriores usan los siguientes objetos:To modify each new mail message, the previous code examples use the following objects:

Probar el proyectoTesting the Project

Al compilar y ejecutar el proyecto, compruebe que el texto aparece en la línea de asunto y en el cuerpo de un nuevo mensaje de correo.When you build and run the project, verify that the text appears in the subject line and body of a new mail message.

Para probar el proyectoTo test the project

  1. Presione F5 para compilar y ejecutar el proyecto.Press F5 to build and run your project.

    Al compilar el proyecto, el código se compila en un ensamblado que se incluye en la carpeta de salida de compilación del proyecto.When you build the project, the code is compiled into an assembly that is included in the build output folder for the project. Visual Studio crea también un conjunto de entradas del registro que permiten que Outlook detecte y cargue el complemento de VSTO, y establece la configuración de seguridad en el equipo de desarrollo para permitir la ejecución del complemento de VSTO.Visual Studio also creates a set of registry entries that enable Outlook to discover and load the VSTO Add-in, and it configures the security settings on the development computer to enable the VSTO Add-in to run. Para obtener más información, consulta Office Solution Build Process Overview.For more information, see Office Solution Build Process Overview.

  2. En Outlook, cree un nuevo mensaje de correo.In Outlook, create a new mail message.

  3. Compruebe que el siguiente texto se agrega a la línea de asunto y al cuerpo del mensaje.Verify that the following text is added to both the subject line and body of the message.

    Este texto se agregó mediante código.This text was added by using code.

  4. Cierre Outlook.Close Outlook.

Limpiar el proyectoCleaning up the Project

Cuando termine de desarrollar un proyecto, quite el ensamblado del complemento de VSTO, las entradas del registro y la configuración de seguridad del equipo de desarrollo.When you finish developing a project, remove the VSTO Add-in assembly, registry entries, and security settings from your development computer. De lo contrario, el complemento VSTO se ejecutará cada vez que abra Outlook en el equipo de desarrollo.Otherwise, the VSTO Add-in will run every time that you open Outlook on the development computer.

Para limpiar el proyectoTo clean up your project

  1. En el menú Crear de Visual Studio, haga clic en Limpiar solución.In Visual Studio, on the Build menu, click Clean Solution.

Pasos siguientesNext Steps

Ahora que ha creado un complemento básico de VSTO para Outlook, puede obtener más información sobre cómo desarrollar complementos VSTO en estos temas:Now that you have created a basic VSTO Add-in for Outlook, you can learn more about how to develop VSTO Add-ins from these topics:

Vea tambiénSee Also

Programming VSTO Add-Ins Programming VSTO Add-Ins
Soluciones de Outlook Outlook Solutions
Personalización de la interfaz de usuario de Office Office UI Customization
Compilar soluciones de Office Building Office Solutions
Implementar una solución de Office Deploying an Office Solution
Información general sobre las plantillas de proyecto de OfficeOffice Project Templates Overview