Aggiungere parti XML personalizzate ai documenti tramite componenti aggiuntivi VSTO

È possibile archiviare dati XML nei tipi seguenti di documenti creando una parte XML personalizzata in un componente aggiuntivo VSTO:

  • Cartella di lavoro di Microsoft Office Excel.

  • Documento di Microsoft Office Word.

  • Presentazione di Microsoft Office PowerPoint.

    Per altre informazioni, vedere Panoramica delle parti XML personalizzate.

    Si applica a: le informazioni contenute in questo argomento si applicano ai progetti a livello di applicazione per Excel, PowerPoint e Word. Per altre informazioni, vedere Funzionalità disponibili per app Office lication e tipo di progetto.

Per aggiungere una parte XML personalizzata a una cartella di lavoro di Excel

  1. Aggiungere un nuovo oggetto CustomXMLPart alla raccolta CustomXMLParts della cartella di lavoro. CustomXMLPart contiene la stringa XML che si vuole memorizzare nella cartella di lavoro.

    Nell'esempio di codice seguente una parte XML personalizzata viene aggiunta a una cartella di lavoro specificata.

    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. Aggiungere il AddCustomXmlPartToWorkbook metodo alla ThisAddIn classe in un progetto di componente aggiuntivo VSTO per Excel.

  3. Chiamare il metodo da altro codice nel progetto. Ad esempio, per creare la parte XML personalizzata quando l'utente apre una cartella di lavoro, chiamare il metodo da un gestore eventi per l'evento WorkbookOpen .

Per aggiungere una parte XML personalizzata a un documento di Word

  1. Aggiungere un nuovo oggetto CustomXMLPart alla raccolta CustomXMLParts del documento. CustomXMLPart contiene la stringa XML che si vuole memorizzare nel documento.

    Nell'esempio di codice seguente una parte XML personalizzata viene aggiunta a un documento specificato.

    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. Aggiungere il AddCustomXmlPartToDocument metodo alla ThisAddIn classe in un progetto di componente aggiuntivo VSTO per Word.

  3. Chiamare il metodo da altro codice nel progetto. Ad esempio, per creare la parte XML personalizzata quando l'utente apre un documento, chiamare il metodo da un gestore eventi per l'evento DocumentOpen .

Per aggiungere una parte XML personalizzata a una presentazione di PowerPoint

  1. Aggiungere un nuovo CustomXMLPart oggetto all'insieme Microsoft.Office.Interop.PowerPoint._Presentation.CustomXMLParts nella presentazione. L'oggetto CustomXMLPart contiene la stringa XML che si vuole memorizzare nella presentazione.

    Nell'esempio di codice seguente una parte XML personalizzata viene aggiunta a una presentazione specificata.

    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. Aggiungere il AddCustomXmlPartToPresentation metodo alla ThisAddIn classe in un progetto di componente aggiuntivo VSTO per PowerPoint.

  3. Chiamare il metodo da altro codice nel progetto. Ad esempio, per creare la parte XML personalizzata quando l'utente apre una presentazione, chiamare il metodo da un gestore eventi per l'evento Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen .

Programmazione efficiente

Per semplicità, in questo esempio viene usata una stringa XML definita come variabile locale nel metodo. In genere, è necessario ottenere l'XML da un'origine esterna, ad esempio un file o un database.