Compartir vía


Adición de elementos XML personalizados a documentos mediante complementos de VSTO

Puede almacenar datos XML en los siguientes tipos de documentos creando un elemento XML personalizado en un complemento de VSTO:

Para agregar un elemento XML personalizado a un libro de Excel

  1. Agregue un nuevo objeto CustomXMLPart a la colección CustomXMLParts del libro. CustomXMLPart contiene la cadena XML que desea almacenar en el libro.

    En el ejemplo de código siguiente se agrega un elemento XML personalizado al libro especificado.

    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 AddCustomXmlPartToWorkbook método a la ThisAddIn clase en un proyecto de complemento de VSTO para Excel.

  3. Llame al método desde otro código del proyecto. 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 .

Para agregar un elemento XML personalizado a un documento de Word

  1. Agregue un nuevo objeto CustomXMLPart a la colección CustomXMLParts del documento. CustomXMLPart contiene la cadena XML que desea almacenar en el documento.

    En el ejemplo de código siguiente se agrega un elemento XML personalizado al documento especificado.

    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 AddCustomXmlPartToDocument método a la ThisAddIn clase en un proyecto de complemento de VSTO para Word.

  3. Llame al método desde otro código del proyecto. 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 .

Para agregar un elemento XML personalizado a una presentación de PowerPoint

  1. Agregue un nuevo CustomXMLPart objeto a la colección Microsoft.Office.Interop.PowerPoint._Presentation.CustomXMLParts en la presentación. CustomXMLPart contiene la cadena XML que desea almacenar en la presentación.

    En el ejemplo de código siguiente se agrega un elemento XML personalizado a la presentación especificada.

    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);
    }
    
  2. Agregue el AddCustomXmlPartToPresentation método a la ThisAddIn clase en un proyecto de complemento de VSTO para PowerPoint.

  3. Llame al método desde otro código del proyecto. 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 .

Programación sólida

Para simplificar, este ejemplo usa una cadena XML que se define como una variable local en el método. Normalmente, debe obtener el XML desde un origen externo, como un archivo o una base de datos.