Добавление пользовательских XML-частей в документы с помощью надстроек VSTO
XML-данные можно сохранить в следующих типах документов, создав пользовательскую XML-часть в надстройке VSTO:
книга Microsoft Office Excel;
документ Microsoft Office Word;
презентация Microsoft Office PowerPoint.
Дополнительные сведения см. в разделе "Общие сведения о пользовательских XML-частях".
Область применения. Сведения этого раздела относятся к проектам уровня приложения для Excel, PowerPoint и Word. Дополнительные сведения см. в разделе "Функции", доступные по Приложение Office ликации и типу проекта.
Добавление пользовательской XML-части в книгу Excel
Добавьте новый объект 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); }
AddCustomXmlPartToWorkbook
Добавьте метод вThisAddIn
класс в проекте надстройки VSTO для Excel.Вызовите метод из другого кода в проекте. Например, для создания пользовательской XML-части, когда пользователь открывает книгу, вызовите метод из обработчика события WorkbookOpen .
Добавление пользовательской XML-части в документ Word
Добавьте новый объект 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); }
AddCustomXmlPartToDocument
Добавьте метод в класс в проекте надстройкиThisAddIn
VSTO для Word.Вызовите метод из другого кода в проекте. Например, для создания пользовательской XML-части, когда пользователь открывает документ, вызовите метод из обработчика события DocumentOpen .
Добавление пользовательской XML-части в презентацию PowerPoint
Добавьте новый 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); }
AddCustomXmlPartToPresentation
Добавьте метод вThisAddIn
класс в проекте надстройки VSTO для PowerPoint.Вызовите метод из другого кода в проекте. Например, чтобы создать пользовательскую XML-часть при открытии презентации, вызовите метод из обработчика событий для события Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen .
Отказоустойчивость
Для простоты в этом примере используется XML-строка, которая определена как локальная переменная в методе. Обычно следует получать XML из внешнего источника, например файла или базы данных.