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 CustomXMLParts del libro.Add a new CustomXMLPart object to the 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. Agregar el AddCustomXmlPartToWorkbook método a la ThisAddIn clase en un proyecto de complemento VSTO para Excel.Add the AddCustomXmlPartToWorkbook method to the ThisAddIn class in a 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 WorkbookOpen .For example, to create the custom XML part when the user opens a workbook, call the method from an event handler for the 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 CustomXMLParts del documento.Add a new CustomXMLPart object to the 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. Agregar el AddCustomXmlPartToDocument método a la ThisAddIn clase en un proyecto de complemento VSTO para Word.Add the AddCustomXmlPartToDocument method to the ThisAddIn class in a 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 DocumentOpen .For example, to create the custom XML part when the user opens a document, call the method from an event handler for the 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 CustomXMLPart de objeto para el Microsoft.Office.Interop.PowerPoint._Presentation.CustomXMLParts colección en 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. Agregar el AddCustomXmlPartToPresentation método a la ThisAddIn clase en un proyecto de complemento VSTO para PowerPoint.Add the AddCustomXmlPartToPresentation method to the ThisAddIn class in a 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, llamar al método desde un controlador de eventos para el Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen eventos.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

Información general sobre elementos XML personalizados 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