Макросы. Импорт/Экспорт xml.

Импорт xml файлов.

 
Открытие xml файлов производится также как и книги Excel "Application.Workbooks.Open"
или "Application.Workbooks.OpenXML(Filename, [Stylesheets], [LoadOption])"

 Sub Импорт1()
  Dim wb as Workbook
  Set wb = Workbooks.Open("C:\файл.xml")  
 End Sub
 
или 

 Sub Импорт2()
  Dim wb as Workbook
  Set wb = Workbooks.OpenXML ("C:\файл.xml", ,LoadOption:=xlXmlLoadImportToList) 
 End Sub
 
 Отмечу, что использование второго метода позволяет применить к открываемому документу несколько
 последовательных XSLT-преобразований — для этой цели у него имеется параметр Stylesheets.
 
 Сохранение документов в формате XML выполняется таким же образом, как и сохранение документов
 в других форматах:

 ActiveWorkbook.SaveAs “файл.xml”, xlXMLSpreadsheet
 
 Здесь xlXMLSpreadsheet — константа, идентифицирующая формат сохранения файла в виде XML Workbook.

Экспорт схем с данными в xml файл.

 
 Экспортируемая схема с данными находится в активной книге

 Sub Экспорт1()
 .....
 .....
  ActiveWorkbook.XmlMaps("ClientForm_карта").Export URL:= "C:\new_файл.xml"
 End Sub
 
 где, "ClientForm_карта" - имя схемы из активной книги.

P.S. Если в схеме XML есть повторяющийся родительский элемент, у которого также есть повторяющиеся родительские элементы, то экспортировать данные в XML с помощью такой карты уже невозможно. Для этого существует в Excel специальная опция в источнике XML, которая позволяет сделать проверку карты XML с точки зрения возможности экспорта.