|
本帖最后由 france723 于 2017-4-24 21:30 编辑
如图EXCEL所示, 在工作表"01"中有A,B两列信息 (内容可变) . A列为<Num>, B列为<Name>.
现在想用vba输出xml文件, 如图XML所示.
跪求大神帮忙vba输出xml文件
- Sub SaveXML()
- If MsgBox("Are you sure create xml?", vbYesNo) = vbYes Then
- ActiveWorkbook.Save
- Dim xlsname, filepath
- Dim irow%, icol%
- xlsname = Left(ThisWorkbook.Name, Len(ThisWorkbook.Name) - 5)
- filepath = ThisWorkbook.Path
- Dim objStream As Object
- Set objStream = CreateObject("ADODB.Stream")
- objStream.Open
- objStream.Position = 0
- objStream.Charset = "UTF-8"
- objStream.writetext "<?xml version=""1.0"" encoding=""UTF-8"" standalone=""yes""?>" & vbCrLf
- objStream.writetext "<Formats> " & vbCrLf
- For irow = 1 To Cells(Rows.Count, 1).End(3).Row
- objStream.writetext vbTab & "<Format>" & vbCrLf
- objStream.writetext vbTab & vbTab & "<Num>" & Cells(irow, 1) & "</Num>" & vbCrLf
- objStream.writetext vbTab & vbTab & "<Name>" & Cells(irow, 2) & "</Name>" & vbCrLf
- objStream.writetext vbTab & "</Format>" & vbCrLf
- Next
- objStream.writetext "</Formats>" & vbCrLf
-
- objStream.SaveToFile filepath + "" + xlsname + ".xml", 2
- objStream.Close
- Set objStream = Nothing
- End If
- End Sub
复制代码
|
|