📄 modxml.bas
字号:
Attribute VB_Name = "modXml"
Option Explicit
'*************************************************
'创建空XML文件
'*************************************************
Private Sub CreateXMLFile(ByVal strFile As String)
Open strFile For Output As #1
Print #1, "<?xml version=""1.0"" encoding=""GB2312""?>"
Print #1, "<BrookPrint>"
Print #1, "</BrookPrint>"
Close #1
End Sub
'*************************************************
'创建XML文件,保存查询结果的表格数据
'*************************************************
Public Function CreateTempData() As Boolean
Dim strFile As String
On Error GoTo ErrorHander
CreateTempData = True
strFile = strPath & "TempData.xml"
If Dir$(strFile) <> "" Then Kill strFile
modPubVar.rstReport.Save strFile, adPersistXML
Set modPubVar.rstReport = Nothing
Exit Function
ErrorHander:
CreateTempData = False
MsgBox "创建临时数据文件出错!", , MSGTEXT
End Function
'*************************************************
'创建XML文件,保存查询结果的表格结构
'*************************************************
Public Function CreateTempStruc() As Boolean
Dim strFile As String
Dim objXml As New DOMDocument26
Dim myReportList As IXMLDOMNodeList
Dim myReport As IXMLDOMNode
Dim ndReport As IXMLDOMNode
Dim ndPart As IXMLDOMNode
Dim ndPrint As IXMLDOMNode
Dim abShare As IXMLDOMAttribute
Dim i, intCount As Integer
On Error GoTo ErrorHander
CreateTempStruc = True
strFile = strPath & "TempStruc.xml"
If Dir$(strFile) <> "" Then Kill strFile
Call CreateXMLFile(strFile)
intCount = objGrid.Count
objXml.Load strFile
' Report节点及其属性
Set ndReport = objXml.createNode(NODE_ELEMENT, "Report", "")
Set abShare = objXml.createAttribute("ID")
abShare.text = strReportID
ndReport.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Name")
abShare.text = strName
ndReport.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Style")
abShare.text = rsFlag
ndReport.Attributes.setNamedItem abShare
' Head节点及其属性
Set ndPart = objXml.createNode(NODE_ELEMENT, "Head", "")
Set ndPrint = objXml.createNode(NODE_ELEMENT, "Print", "")
Call InitPrint(ndPrint, objXml, strName, 0, 0, 0, 0, False)
ndReport.appendChild ndPrint
' For i = 0 To intCount - 1
' Set myNode = objXml.createNode(NODE_ELEMENT, "width", "")
' myNode.text = CStr(grdReport.Columns(i).width)
' Set myName = objXml.createAttribute("reportsum")
' myName.text = lvReport.ListItems("Col" & CStr(i)).SubItems(1)
' myNode.Attributes.setNamedItem myName
' Set myName = objXml.createAttribute("decimalplaces")
' myName.text = lvReport.ListItems("Col" & CStr(i)).SubItems(2)
' myNode.Attributes.setNamedItem myName
' newNode.appendChild myNode
' Next i
'
objXml.getElementsByTagName("BrookPrint").Item(0).appendChild ndReport
objXml.Save strFile
Set objXml = Nothing
Exit Function
ErrorHander:
CreateTempStruc = False
MsgBox "创建报表结构文件出错!", , MSGTEXT
Set objXml = Nothing
End Function
Private Sub InitPrint(nd As IXMLDOMNode, objXml As DOMDocument26, ByVal text As String, _
ByVal x As Integer, ByVal y As Integer, ByVal h As Integer, ByVal w As Integer, ByVal fun As Boolean)
Dim abShare As IXMLDOMAttribute
Set abShare = objXml.createAttribute("align")
abShare.text = PrintAlign.bpCenter
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("backColor")
abShare.text = vbWhite
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("borderColor")
abShare.text = vbBlack
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Bold")
abShare.text = True
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("curX")
abShare.text = x
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("curY")
abShare.text = y
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Italic")
abShare.text = False
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Name")
abShare.text = "宋体"
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Size")
abShare.text = 10
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Strikethrough")
abShare.text = False
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("Underline")
abShare.text = False
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("foreColor")
abShare.text = vbBlack
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("height")
abShare.text = h
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("isFun")
abShare.text = fun
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("style")
abShare.text = False
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("text")
abShare.text = text
nd.Attributes.setNamedItem abShare
Set abShare = objXml.createAttribute("width")
abShare.text = w
nd.Attributes.setNamedItem abShare
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -