Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2017, 10:25   #1
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию Добавить уровни в существующую структуру

Привет ув. программиcты.

Полбзуюсь макросом который конвектирует данные из Екселя в xml и потом этот файл подгружается в ИС. Появилась потребность добавить новые уровни в существующую структуру. Пожскажите как это сделать на примере макроса ниже. Например добавить в атрибут WBID 2 новых поля. Cпасибо!
Код HTML:
Sub Convert_Excel_Data_to_XML()
    
    Dim doc As MSXML2.DOMDocument
    Dim rng As Range, rngRow As Range
    Dim root As MSXML2.IXMLDOMNode
    Dim child As MSXML2.IXMLDOMElement
    Dim xmlDecl As MSXML2.IXMLDOMProcessingInstruction
    Dim sXmlFilePath As String
    
    'Create new XML doc
    Set doc = New MSXML2.DOMDocument
    
    'Root for creation
    sXmlFilePath = ThisWorkbook.Path & "\Interface.xml"
    
    'XML declaration
    Set xmlDecl = doc.createProcessingInstruction("xml", "version='1.0' encoding='windows-1251'")
    doc.appendChild xmlDecl
    
    'Add new root
    Set root = doc.createElement("Order")
    doc.appendChild root
    
    'Select value
    
    Range("A2").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
   
    
    'Add element
    Set rng = Selection
    For Each rngRow In rng.Rows
        Set child = doc.createElement("Invoice")
        child.setAttribute "DocNo", rngRow.Cells(1)
        child.setAttribute "Date", Format(rngRow.Cells(2), "yyyy-d-m")
        child.setAttribute "PointId", rngRow.Cells(3)
        child.setAttribute "PointName", rngRow.Cells(4)
        child.setAttribute "WBID", rngRow.Cells(5)
        child.setAttribute "SupplyDate", Format(rngRow.Cells(6), "yyyy-m-d")
        child.setAttribute "PalletQnt", Replace(Format(rngRow.Cells(7), "#.00"), ",", ".")
        child.setAttribute "PackQnt", Replace(Format(rngRow.Cells(8), "#.00"), ",", ".")
        child.setAttribute "Weight", Replace(Format(rngRow.Cells(9), "#.00"), ",", ".")
        child.setAttribute "Sum", Replace(Format(rngRow.Cells(10), "#.00"), ",", ".")
        child.setAttribute "Comment", rngRow.Cells(11)
        root.appendChild child
      
    Next
    Range("L2").Select
    
    'Prepared and creation
    doc.Save sXmlFilePath
    
    
End Sub
Евгений Таб вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить структуру в класс с++ enzaime Помощь студентам 1 20.05.2012 12:26
уровни в БД Deniska12 Помощь студентам 1 21.03.2012 12:08
Добавить столбец с данными, из запроса в существующую таблицу. Tolius Microsoft Office Access 0 04.05.2011 16:43
не получается добавить в структуру Crudelis Общие вопросы C/C++ 4 24.04.2010 16:48
Как добавить в структуру новое поле (MySQL)? Blef SQL, базы данных 1 29.08.2009 12:06