使用 VSTO 外接程序向文档添加自定义 XML 部件

通过在 VSTO 外接程序中创建自定义 XML 部件,可以将 XML 数据存储在以下类型的文档中:

  • Microsoft Office Excel 工作簿。

  • Microsoft Office Word 文档。

  • Microsoft Office PowerPoint 演示文稿。

    有关详细信息,请参阅 自定义 XML 部件概述

    适用于: 本主题中的信息适用于 Excel、PowerPoint 和 Word 的应用程序级项目。 有关详细信息,请参阅办公室应用程序和项目类型提供的功能。

向 Excel 工作簿添加自定义 XML 部件

  1. 向工作簿中的 CustomXMLPart 集合添加新 CustomXMLParts 对象。 CustomXMLPart 包含你希望存储在工作簿中的 XML 字符串。

    下面的代码示例向指定工作簿添加自定义 XML 部件。

    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. AddCustomXmlPartToWorkbook 该方法添加到 ThisAddIn Excel 的 VSTO 外接程序项目中的类。

  3. 从项目中的其他代码调用该方法。 例如,若要在用户打开工作簿时创建自定义 XML 部件,可从 WorkbookOpen 事件的事件处理程序调用该方法。

向 Word 文档添加自定义 XML 部件

  1. 向文档中的 CustomXMLPart 集合添加新的 CustomXMLParts 对象。 CustomXMLPart 包含你希望存储在文档中的 XML 字符串。

    下面的代码示例向指定文档添加自定义 XML 部件。

    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. AddCustomXmlPartToDocument 该方法添加到 ThisAddIn Word 的 VSTO 外接程序项目中的类。

  3. 从项目中的其他代码调用该方法。 例如,若要在用户打开文档时创建自定义 XML 部件,可从 DocumentOpen 事件的事件处理程序调用该方法。

向 PowerPoint 演示文稿添加自定义 XML 部件

  1. 将新CustomXMLPart对象添加到 Microsoft.办公室。演示文稿中的 Interop.PowerPoint._Presentation.CustomXMLParts 集合。 CustomXMLPart 包含你希望存储在演示文稿中的 XML 字符串。

    下面的代码示例向指定演示文稿添加自定义 XML 部件。

    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. AddCustomXmlPartToPresentation 该方法添加到 ThisAddIn PowerPoint 的 VSTO 外接程序项目中的类。

  3. 从项目中的其他代码调用该方法。 例如,若要在用户打开演示文稿时创建自定义 XML 部件,请从 Microsoft.办公室的事件处理程序调用该方法。Interop.PowerPoint.EApplication_Event.AfterPresentationOpen 事件。

可靠编程

为简单起见,此示例使用在方法中定义为局部变量的 XML 字符串。 通常,应从外部源(如文件或数据库)获取 XML。