Cómo: Agregar elementos XML personalizados a documentos mediante complementos de VSTOHow to: Add Custom XML Parts to Documents by Using VSTO Add-Ins

Puede almacenar datos XML en los siguientes tipos de documentos creando un elemento XML personalizado en un complemento de VSTO:You can store XML data in the following types of documents by creating a custom XML part in a VSTO Add-in:

Para agregar un elemento XML personalizado a un libro de ExcelTo add a custom XML part to an Excel workbook

  1. Agregue un nuevo objeto CustomXMLPart a la colección Microsoft.Office.Interop.Excel._Workbook.CustomXMLParts* del libro.Add a new CustomXMLPart object to the Microsoft.Office.Interop.Excel._Workbook.CustomXMLParts* collection in the workbook. CustomXMLPart contiene la cadena XML que desea almacenar en el libro.The CustomXMLPart contains the XML string that you want to store in the workbook.

    En el ejemplo de código siguiente se agrega un elemento XML personalizado al libro especificado.The following code example adds a custom XML part to a specified workbook.

    Private Sub AddCustomXmlPartToWorkbook(ByVal workbook As Excel.Workbook)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees xmlns=""http://schemas.microsoft.com/vsto/samples"">" & _
                    "<employee>" & _
                        "<name>Karina Leal</name>" & _
                        "<hireDate>1999-04-01</hireDate>" & _
                        "<title>Manager</title>" & _
                    "</employee>" & _
                "</employees>"
    
        Dim employeeXMLPart As Office.CustomXMLPart = _
            workbook.CustomXMLParts.Add(xmlString)
    End Sub
    
    private void AddCustomXmlPartToWorkbook(Excel.Workbook workbook)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"http://schemas.microsoft.com/vsto/samples\">" +
                "<employee>" +
                    "<name>Karina Leal</name>" +
                    "<hireDate>1999-04-01</hireDate>" +
                    "<title>Manager</title>" +
                "</employee>" +
            "</employees>";
    
        Office.CustomXMLPart employeeXMLPart = workbook.CustomXMLParts.Add(xmlString, missing);
    }
    
  2. Agregue el método AddCustomXmlPartToWorkbook a la clase ThisAddIn en un proyecto de complemento VSTO para Excel.Add the AddCustomXmlPartToWorkbook method to the ThisAddIn class in an VSTO Add-in project for Excel.

  3. Llame al método desde otro código del proyecto.Call the method from other code in your project. Por ejemplo, para crear el elemento XML personalizado cuando el usuario abre un libro, llame al método desde un controlador de eventos para el evento Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookOpen .For example, to create the custom XML part when the user opens a workbook, call the method from an event handler for the Microsoft.Office.Interop.Excel.AppEvents_Event.WorkbookOpen event.

Para agregar un elemento XML personalizado a un documento de WordTo add a custom XML part to a Word document

  1. Agregue un nuevo objeto CustomXMLPart a la colección Microsoft.Office.Interop.Word._Document.CustomXMLParts* del documento.Add a new CustomXMLPart object to the Microsoft.Office.Interop.Word._Document.CustomXMLParts* collection in the document. CustomXMLPart contiene la cadena XML que desea almacenar en el documento.The CustomXMLPart contains the XML string that you want to store in the document.

    En el ejemplo de código siguiente se agrega un elemento XML personalizado al documento especificado.The following code example adds a custom XML part to a specified document.

    Private Sub AddCustomXmlPartToActiveDocument(ByVal document As Word.Document)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees xmlns=""http://schemas.microsoft.com/vsto/samples"">" & _
                    "<employee>" & _
                        "<name>Karina Leal</name>" & _
                        "<hireDate>1999-04-01</hireDate>" & _
                        "<title>Manager</title>" & _
                    "</employee>" & _
                "</employees>"
    
        Dim employeeXMLPart As Office.CustomXMLPart = _
            document.CustomXMLParts.Add(xmlString)
    End Sub
    
    private void AddCustomXmlPartToActiveDocument(Word.Document document)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"http://schemas.microsoft.com/vsto/samples\">" +
                "<employee>" +
                    "<name>Karina Leal</name>" +
                    "<hireDate>1999-04-01</hireDate>" +
                    "<title>Manager</title>" +
                "</employee>" +
            "</employees>";
    
        Office.CustomXMLPart employeeXMLPart = document.CustomXMLParts.Add(xmlString, missing);
    }
    
  2. Agregue el método AddCustomXmlPartToDocument a la clase ThisAddIn en un proyecto de complemento VSTO para Word.Add the AddCustomXmlPartToDocument method to the ThisAddIn class in an VSTO Add-in project for Word.

  3. Llame al método desde otro código del proyecto.Call the method from other code in your project. Por ejemplo, para crear el elemento XML personalizado cuando el usuario abre un documento, llame al método desde un controlador de eventos para el evento Microsoft.Office.Interop.Word.ApplicationEvents4_Event.DocumentOpen .For example, to create the custom XML part when the user opens a document, call the method from an event handler for the Microsoft.Office.Interop.Word.ApplicationEvents4_Event.DocumentOpen event.

Para agregar un elemento XML personalizado a una presentación de PowerPointTo add a custom XML part to a PowerPoint presentation

  1. Agregue un nuevo objeto CustomXMLPart a la colección Microsoft.Office.Interop.PowerPoint._Presentation.CustomXMLParts* de la presentación.Add a new CustomXMLPart object to the Microsoft.Office.Interop.PowerPoint._Presentation.CustomXMLParts* collection in the presentation. CustomXMLPart contiene la cadena XML que desea almacenar en la presentación.The CustomXMLPart contains the XML string that you want to store in the presentation.

    En el ejemplo de código siguiente se agrega un elemento XML personalizado a la presentación especificada.The following code example adds a custom XML part to a specified presentation.

    private void AddCustomXmlPartToPresentation(PowerPoint.Presentation presentation)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"http://schemas.microsoft.com/vsto/samples\">" +
                "<employee>" +
                    "<name>Karina Leal</name>" +
                    "<hireDate>1999-04-01</hireDate>" +
                    "<title>Manager</title>" +
                "</employee>" +
            "</employees>";
    
        Office.CustomXMLPart employeeXMLPart = 
            presentation.CustomXMLParts.Add(xmlString, missing);
    }
    
    Private Sub AddCustomXmlPartToPresentation(ByVal presentation As PowerPoint.Presentation)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees xmlns=""http://schemas.microsoft.com/vsto/samples"">" & _
                    "<employee>" & _
                        "<name>Karina Leal</name>" & _
                        "<hireDate>1999-04-01</hireDate>" & _
                        "<title>Manager</title>" & _
                    "</employee>" & _
                "</employees>"
        Dim employeeXMLPart As Office.CustomXMLPart = _
            presentation.CustomXMLParts.Add(xmlString)
    End Sub
    
  2. Agregue el método AddCustomXmlPartToPresentation a la clase ThisAddIn en un proyecto de complemento VSTO para PowerPoint.Add the AddCustomXmlPartToPresentation method to the ThisAddIn class in an VSTO Add-in project for PowerPoint.

  3. Llame al método desde otro código del proyecto.Call the method from other code in your project. Por ejemplo, para crear el elemento XML personalizado cuando el usuario abre una presentación, llame al método desde un controlador de eventos para el evento Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen .For example, to create the custom XML part when the user opens a presentation, call the method from an event handler for the Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen event.

Programación sólidaRobust Programming

Para simplificar, este ejemplo usa una cadena XML que se define como una variable local en el método.For simplicity, this example uses an XML string that is defined as a local variable in the method. Normalmente, debe obtener el XML desde un origen externo, como un archivo o una base de datos.Typically, you should obtain the XML from an external source, such as a file or a database.

Vea tambiénSee Also

Custom XML Parts Overview Custom XML Parts Overview
Cómo: Agregar elementos XML personalizados a personalizaciones de nivel de documentoHow to: Add Custom XML Parts to Document-Level Customizations