External Datas - XML_03
엑셀시트의 데이타를 XML화일로 만들기
- VBA I/O Functions
- Dir,Kill,Open,Append,For,As,Print,Close
스키마화일..XSD화일등등 골치아프다..
그냥 VBA를 알고 잘활용하면 XML화일을 만들기도 하고
불러 오기도 하고 그럴수 있다..
앞의 두페이지는 그냥 VBA모르고 해도 되는 것들이다
여기는 VBA프로그래밍을 즐기는 곳..
아래의 시트와 같은 데이타가 있다고 치고
VBA에서 제공하는 I/O함수들을 활용하면 그냥 간단하게 XML화일이
만들어진다
위의 그림과 같이 Data라는 이름의 시트에 작성하고
아래의 프로시져를 실행시키면 된다
Sub writeXML()
Dim lX As Long
Dim shtData As Worksheet
Dim sXMLLocation As String
Set shtData = Sheets("Data")
sXMLLocation = ThisWorkbook.Path & "\XLtoXML.xml"
If Len(Dir(sXMLLocation)) > 0 Then
Kill sXMLLocation
End If
Open sXMLLocation For Append As #1
Print #1, ""
Print #1, " "
For lX = 2 To shtData.Range("A" & shtData.Rows.Count).End(xlUp).Row
Print #1, " "
Print #1, " <판매일자>" & shtData.Cells(lX, 1).Value & _
"판매일자>"
Print #1, " <분류>" & shtData.Cells(lX, 2).Value & _
"분류>"
Print #1, " <제품이름>" & shtData.Cells(lX, 3).Value & _
"제품이름>"
Print #1, " <담당자>" & shtData.Cells(lX, 4).Value & _
"담당자>"
Print #1, " <고객회사>" & shtData.Cells(lX, 5).Value & _
"고객회사>"
Print #1, " <납품회사>" & shtData.Cells(lX, 6).Value & _
"납품회사>"
Print #1, " <운송회사>" & shtData.Cells(lX, 7).Value & _
"운송회사>"
Print #1, " <판매액>" & shtData.Cells(lX, 8).Value & _
"판매액>"
Print #1, " "
Next
Print #1, ""
Close #1
MsgBox "[" & sXMLLocation & "]이 생성되었습니다!!"
End Sub
그냥 XML문서는 텍스트문서이니..텍스트화일을 쓰고 읽고 하는
I/O함수로 간단히 처리된다
결과는 아래와 같이 만들어진다
그런데 위의 구문은 쎄련되지 못했다
초보의 솜씨고..척보면..프로그램을 좀더 잘 하시는 군!!!
소리를 들을수 있도록 작성해보도록 하고
또한 이왕하는 것 서식된 HTML화일도 아래와 같이 하나 만들어 보자
웹문서도 역시 텍스트문서이니..I/O 함수들을 활용하여 마음대로 만들수 있을것이다
다음 페이지에서는 XML문서만을 특별히 다루는 외부라이브러리를 활용하여
XML문서를 쓰고..읽고 해보자!!
xml_03.