打开APP
未登录
开通VIP,畅享免费电子书等14项超值服
开通VIP
首页
好书
留言交流
下载APP
联系客服
excel中如何利用VBA批量生成XML文件
龙门过客栈
>《System.Xml》
2017.11.18
关注
定义一个宏,代码如下:
[vb]
view plain
copy
print
?
Sub SaveXML()
If MsgBox("Are you sure create xml?", vbYesNo) = vbYes Then
ActiveWorkbook.Save
Dim xlsname, filepath
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 "<" & xlsname & "> " & vbCrLf
For Each sh In ActiveWorkbook.Worksheets
Dim rng As Range
Set rng = sh.Range("A1")
Dim count1, count2, count3
count1 = 2
count2 = 2
count3 = 0
Dim columnName As String
If rng.Offset(1, 1) = "Child" Then
ElseIf rng.Offset(1, 1) = "" Then
objStream.WriteText vbTab & "<" & sh.Name & "s>" & vbCrLf
objStream.WriteText vbTab & "</" & sh.Name & "s>" & vbCrLf
Else
objStream.WriteText vbTab & "<" & sh.Name & "s>" & vbCrLf
Do While rng.Offset(count1, 0) <> ""
objStream.WriteText vbTab & vbTab & "<" & sh.Name
Do While rng.Offset(2, count3) <> ""
columnName = rng.Offset(1, count3)
If InStr(1, columnName, "_") <> 0 Then
objStream.WriteText " " & Right(columnName, Len(columnName) - InStr(1, columnName, "_")) & "=" & """"
objStream.WriteText rng.Offset(count1, count3) & """"
End If
count3 = count3 + 1
Loop
count3 = 0
objStream.WriteText "/>" & vbCrLf
count1 = count1 + 1
Loop
MsgBox ("555555")
count1 = 2
count2 = 2
objStream.WriteText vbTab & "</" & sh.Name & "s>" & vbCrLf
End If
Next
objStream.WriteText "</" & xlsname & ">" & vbCrLf
objStream.SaveToFile filepath + "\" + xlsname + ".xml", 2
objStream.Close
Set objStream = Nothing
End If
End Sub
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报
。
打开APP,阅读全文并永久保存
查看更多类似文章
猜你喜欢
类似文章
非常实用asp日历代码
VB MsgBox 函数使用
Word 使用宏根据文件名实现文件版本号自动更新
Excel 如何用代码获得计算机的主机编号!
MSGBOX
按键 使用WinHttp实现POST方式用户模拟登录网站
更多类似文章 >>
生活服务
热点新闻
留言交流
回顶部
联系我们
分享
收藏
点击这里,查看已保存的文章
导长图
关注
一键复制
下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!
联系客服
微信登录中...
请勿关闭此页面
先别划走!
送你5元优惠券,购买VIP限时立减!
5
元
优惠券
优惠券还有
10:00
过期
马上使用
×