如何:使用应用程序级外接程序将自定义 XML 部件添加到文档中

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

  • Microsoft Office Excel 工作簿。

  • Microsoft Office Word 文档。

  • Microsoft Office PowerPoint 演示文稿。

有关更多信息,请参见自定义 XML 部件概述

本主题中的信息适用于以下应用程序的应用程序级项目中适用于: :Excel 2010;PowerPoint 2010;Word 2010。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

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

  1. 将新的 CustomXMLPart 对象添加到工作簿的 CustomXMLParts 集合中。CustomXMLPart 包含要存储在工作簿中的 XML 字符串。

    以下代码示例将自定义 XML 部件添加到指定的工作簿中。

    Private Sub AddCustomXmlPartToWorkbook(ByVal workbook As Excel.Workbook)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees https://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=\"https://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 方法添加到 Excel 应用程序级项目的 ThisAddIn 类中。

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

将自定义 XML 部件添加到 Word 文档中

  1. 将新的 CustomXMLPart 对象添加到文档的 CustomXMLParts 集合中。CustomXMLPart 包含要存储在文档中的 XML 字符串。

    以下代码示例将自定义 XML 部件添加到指定的文档中。

    Private Sub AddCustomXmlPartToActiveDocument(ByVal document As Word.Document)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees https://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=\"https://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 方法添加到 Word 应用程序级项目的 ThisAddIn 类中。

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

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

  1. 将新的 CustomXMLPart 对象添加到演示文稿的 CustomXMLParts 集合中。CustomXMLPart 包含要存储在演示文稿中的 XML 字符串。

    以下代码示例将自定义 XML 部件添加到指定的演示文稿中。

    Private Sub AddCustomXmlPartToPresentation(ByVal presentation As PowerPoint.Presentation)
        Dim xmlString As String = _
            "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
                "<employees https://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
    
    private void AddCustomXmlPartToPresentation(PowerPoint.Presentation presentation)
    {
        string xmlString =
            "<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
            "<employees xmlns=\"https://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 方法添加到 PowerPoint 应用程序级项目的 ThisAddIn 类中。

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

可靠编程

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

请参见

任务

如何:向文档级自定义项中添加自定义 XML 部件

概念

自定义 XML 部件概述