Поделиться через


Добавление пользовательских XML-частей в документы с помощью надстроек VSTO

XML-данные можно сохранить в следующих типах документов, создав пользовательскую XML-часть в надстройке VSTO:

  • книга Microsoft Office Excel;

  • документ Microsoft Office Word;

  • презентация Microsoft Office PowerPoint.

    Дополнительные сведения см. в разделе "Общие сведения о пользовательских XML-частях".

    Область применения. Сведения этого раздела относятся к проектам уровня приложения для Excel, PowerPoint и Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.

Добавление пользовательской XML-части в книгу Excel

  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 класс в проекте надстройки VSTO для Excel.

  3. Вызовите метод из другого кода в проекте. Например, для создания пользовательской XML-части, когда пользователь открывает книгу, вызовите метод из обработчика события WorkbookOpen .

Добавление пользовательской XML-части в документ Word

  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 VSTO для Word.

  3. Вызовите метод из другого кода в проекте. Например, для создания пользовательской XML-части, когда пользователь открывает документ, вызовите метод из обработчика события DocumentOpen .

Добавление пользовательской XML-части в презентацию PowerPoint

  1. Добавьте новый CustomXMLPart объект в коллекцию Microsoft.Office.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 класс в проекте надстройки VSTO для PowerPoint.

  3. Вызовите метод из другого кода в проекте. Например, чтобы создать пользовательскую XML-часть при открытии презентации, вызовите метод из обработчика событий для события Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen .

Отказоустойчивость

Для простоты в этом примере используется XML-строка, которая определена как локальная переменная в методе. Обычно следует получать XML из внешнего источника, например файла или базы данных.