'Write XML file
Sub WriteXML(fpa$, fn$)
Dim xmlfile As String
xmlfile = ThisWorkbook.Path & ".\Export.xml"
CreateXml xmlfile, fpa, fn
End Sub Function CreateXml(xmlfile$, fpa$, fn$)
Dim xdoc As Object
Dim rootNode As Object
Dim header As Object
Dim newNode As Object
Dim tNode As Object Set xdoc = CreateObject("MSXML2.DOMDocument")
Set rootNode = xdoc.createElement("FilePath")
Set xdoc.DocumentElement = rootNode
'xDoc.Load xmlFile
Set header = xdoc.createProcessingInstruction("xml", "version='1.0' encoding='Unicode'")
xdoc.InsertBefore header, xdoc.ChildNodes() Set newNode = xdoc.createElement("File")
Set tNode = xdoc.DocumentElement.appendChild(newNode)
tNode.setAttribute "type", "folder" Set newNode = xdoc.createElement("path")
Set tNode = xdoc.DocumentElement.ChildNodes.Item().appendChild(newNode)
tNode.appendChild (xdoc.createTextNode(fpa)) Set newNode = xdoc.createElement("File")
Set tNode = xdoc.DocumentElement.appendChild(newNode)
tNode.setAttribute "type", "file" Set newNode = xdoc.createElement("name")
Set tNode = xdoc.DocumentElement.ChildNodes.Item().appendChild(newNode)
tNode.appendChild (xdoc.createTextNode(fn)) Set newNode = Nothing
Set tNode = Nothing Dim xmlStr As String
xmlStr = PrettyPrintXml(xdoc)
WriteUtf8WithoutBom xmlfile, xmlStr Set rootNode = Nothing
Set xdoc = Nothing 'MsgBox xmlFile & "XML file exported sucessfully!"
' Call export_data(fpa, fn)
End Function 'Formatting XML,set wrapping and indentation
Function PrettyPrintXml(xmldoc) As String
Dim reader As Object
Dim writer As Object
Set reader = CreateObject("Msxml2.SAXXMLReader.6.0")
Set writer = CreateObject("Msxml2.MXXMLWriter.6.0")
writer.indent = True
writer.omitXMLDeclaration = True
reader.contentHandler = writer
reader.Parse (xmldoc)
PrettyPrintXml = writer.Output
End Function 'UTF-8 without BOM
Function WriteUtf8WithoutBom(filename As String, content As String)
Dim stream As New ADODB.stream
stream.Open
stream.Type = adTypeText
stream.Charset = "utf-8"
stream.WriteText "<?xml version=" & Chr() & "1.0" & Chr() & _
" encoding=" & Chr() & "UTF-8" & Chr() & "?>" & vbCrLf
stream.WriteText content 'Top 3 character move sets£¨0xEF,0xBB,0xBF£©
stream.Position = Dim newStream As New ADODB.stream
newStream.Type = adTypeBinary
newStream.Mode = adModeReadWrite
newStream.Open stream.CopyTo newStream
stream.Flush
stream.Close newStream.SaveToFile filename, adSaveCreateOverWrite
newStream.Flush
newStream.Close
End Function Sub export_data()
Dim xdoc As New DOMDocument60 'Declare and create XML object
Dim b As Boolean, root As IXMLDOMElement
Dim fp As String
Dim fn As String
Dim wb As Workbook
Dim arr() As String
Dim i As Integer
Dim j As Integer
Dim app As Object
Dim wbs As Workbook
Dim ws As Worksheet
Dim irow As Integer
On Error Resume Next
With ThisWorkbook.Sheets()
b = xdoc.Load(ThisWorkbook.Path & ".\Export.xml")
If b = True Then
Set root = xdoc.DocumentElement 'Get the root node
fn = root.ChildNodes.Item().Text
fp = root.ChildNodes.Item().Text & fn & "-" & Format(Now(), "yyyymmdd") & ".xlsx"
irow = ThisWorkbook.Sheets().Range("a1000000").End(xlUp).Row
ActiveWorkbook.Sheets().Copy
ActiveWorkbook.SaveAs filename:=fp
irow = .Range("A1000000").End(xlUp).Row
.Range("A2:E" & irow).ClearContents
Else
MsgBox "Error:failed to load xml file!",
End If
End With
End Sub

VBA读写XML文件的更多相关文章

  1. C#读写xml文件的常用方法

    已知有一个XML文件(bookshop.xml)如下: <?xml version="1.0" encoding="gb2312" ?> <b ...

  2. PHP读写XML文件的四种方法

    PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...

  3. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  4. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  5. cocos2d-x 读写 xml 文件

    cocos2d-x 读写 xml 文件 A product of cheungmine使用cocos2d-x开发2d游戏确实方便,但是对于一般的小游戏,经常需要的工作是UI布局设计和调整,代码改来改去 ...

  6. java通过dom读写xml文件

    java通过dom读写xml文件 要读的xml文件 <?xml version="1.0" encoding="GB2312"?><学生花名册 ...

  7. C# 读写XML文件的方法

    C# 读写XML文件的方法 一.写XML文件 XmlDocument xmlDocument = new XmlDocument();xmlDocument.AppendChild(xmlDocume ...

  8. VC 使用msxml6.dll动态链接库中的函数读写XML文件

    VC 使用msxml6.dll动态链接库中的函数读写XML文件 目录 1 引言 2 .dll使用方法 3 常用函数总结 4 实例应用 5 运行效果预览 6 补充说明 7 不足之处 8 更新   引言: ...

  9. 【VS开发】【计算机视觉】OpenCV读写xml文件《C++版本》

    OpenCV FileStorage类读写XML/YML文件 在OpenCV程序中,需要保存中间结果的时候常常会使用.xml / .yml文件,opencv2.0之前都是使用C风格的代码,当时读写XM ...

随机推荐

  1. static成员函数和static成员

    C++的静态成员是和类关联的,它属于某个类,但是不属于某个特定的对象.静态成员变量只存储一份供所有对象共用.所以在所有对象中都可以共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则, ...

  2. python主要模块 和 常用方法简览

    ******************** PY核心模块方法 ******************** os模块: os.remove() 删除文件 os.unlink() 删除文件 os.rename ...

  3. Python 实现快递查询

    实现效果: 源代码: import urllib.request import json import msvcrt kd_dict = {1:'shentong',2:'youzhengguonei ...

  4. 查看tensorflow Pb模型所有层的名字

    代码如下: import tensorflow as tf def get_all_layernames(): """get all layers name"& ...

  5. 【记忆化搜索/数位DP】zznu2175(长度为n的含有ACM的字符串)

    随机字符串 题目描述 起名字什么的最麻烦,我们来生成一些随机字符串吧 生成的字符串当然是有要求的: .长度不能超过n .字符串中仅包含大写字母 .生成的字符串必须包含字符串“ACM” ok,是不是很简 ...

  6. DiskFileItemFactory用法

    在使用servlet上传文件时,使用DiskFileItemFactory(在使用struts时利用InputStream和OutputStream) 将请求消息实体中的每一个项目封装成单独的Disk ...

  7. Java入门第二季——第4章 多态

    第4章 多态 多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作 4-1 Java 中的多态 注意:不能通过父类的引 ...

  8. 前端小白页面开发注意事项及小工具(html\css\js)

    技术一直在向前发展.但是有一些是相通的,要找准重点,将80%的时间放在提升基础问题上,余下的20%再去学习框架,库和工具. HTML 1. HTML 属性应当按照以下给出的顺序依次排列,确保代码的易读 ...

  9. mybayis项目使用的Mapping文件使用总结参考(二)

    针对in字句中的数组使用方法 <select id="getCpProfileNamesByIds" resultType="string"> se ...

  10. django-session的使用---文件session型

    3.文件Session a. 配置 settings.py       SESSION_ENGINE = 'django.contrib.sessions.backends.file'    # 引擎 ...