?? clsprnxmlfileui.cls
字號:
VERSION 1.0 CLASS
BEGIN
MultiUse = -1 'True
Persistable = 0 'NotPersistable
DataBindingBehavior = 0 'vbNone
DataSourceBehavior = 0 'vbNone
MTSTransactionMode = 0 'NotAnMTSObject
END
Attribute VB_Name = "clsPrnXml"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Dim prn_objDom As New DOMDocument
Dim objNode As IXMLDOMElement
Dim SysInfo As IXMLDOMProcessingInstruction
Dim RootNode As IXMLDOMElement
Dim ParentNode As IXMLDOMElement
Dim ChildNode As IXMLDOMElement
Public Sub Initialize(ByVal RootName As String, ByVal parentName As String)
Set objNode = prn_objDom.documentElement
If objNode Is Nothing Then
Set RootNode = prn_objDom.createElement(RootName)
prn_objDom.appendChild RootNode
Set SysInfo = prn_objDom.createProcessingInstruction("xml", "version='1.0' standalone='yes'")
prn_objDom.insertBefore SysInfo, prn_objDom.childNodes(0)
Else
'prn_objDom.firstChild.baseName = RootName
End If
Set objNode = prn_objDom.documentElement
Set ParentNode = prn_objDom.createElement(parentName)
objNode.appendChild ParentNode
End Sub
Public Function InsertPNode(ByVal PnodeName As String, ByVal nodename As String, ByVal nodeValue As String) As Boolean
On Erro GoTo Error0
Dim i, j As Integer
Dim b As Boolean
Set objNode = prn_objDom.documentElement
For i = 0 To objNode.childNodes.Length - 1
If objNode.childNodes(i).baseName = Trim(PnodeName) Then
b = True
j = i
Exit For
End If
Next
If b Then
Set ParentNode = objNode.childNodes(j)
Else
Set ParentNode = prn_objDom.createElement(PnodeName)
objNode.appendChild ParentNode
End If
Set ChildNode = prn_objDom.createElement(nodename)
If Trim(nodeValue) <> "" Then
ChildNode.Text = Trim(nodeValue)
End If
ParentNode.appendChild ChildNode
InsertPNode = True
Exit Function
Error0: InsertPNode = False
End Function
Public Function saveFile(ByVal Filename As String) As Boolean
On Erro GoTo Error0
Filename = App.Path & "\" & Filename
prn_objDom.Save Filename
saveFile = True
Exit Function
Error0: saveFile = False
End Function
Public Function InsertHeadNodes(ByVal PnodeName As String, nodename As String, attr() As String, Value() As String) As Boolean
On Erro GoTo Error0
Dim i, j As Integer
Dim b As Boolean
Dim Node As IXMLDOMElement
Set objNode = prn_objDom.documentElement
Set ParentNode = objNode.childNodes(0)
For i = 0 To ParentNode.childNodes.Length - 1
If ParentNode.childNodes(i).baseName = Trim(PnodeName) Then
b = True
j = i
Exit For
End If
Next
If b Then
Set ParentNode = ParentNode.childNodes(j)
Else
Set ParentNode = prn_objDom.createElement(PnodeName)
objNode.appendChild ParentNode
End If
For i = 0 To UBound(Value)
Set ChildNode = prn_objDom.createElement(nodename)
If attr(i, 1) <> "" Then
ChildNode.setAttribute attr(i, 0), attr(i, 1)
End If
ChildNode.Text = Value(i)
ParentNode.appendChild ChildNode
Next
InsertHeadNodes = True
Exit Function
Error0: InsertHeadNodes = False
End Function
Public Function InsertBodyNodes(ByVal PnodeName As String, nodename As String, attr() As String, Value() As String) As Boolean
On Erro GoTo Error0
Dim i, j As Integer
Dim b As Boolean
Dim Node As IXMLDOMElement
Set objNode = prn_objDom.documentElement
Set ParentNode = objNode.childNodes(0)
For i = 0 To ParentNode.childNodes.Length - 1
If ParentNode.childNodes(i).baseName = Trim(PnodeName) Then
b = True
j = i
Exit For
End If
Next
If b Then
Set ParentNode = ParentNode.childNodes(j)
Else
Set ParentNode = prn_objDom.createElement(PnodeName)
objNode.appendChild ParentNode
End If
Set Node = prn_objDom.createElement(nodename)
ParentNode.appendChild Node
For i = 0 To UBound(Value)
Set ChildNode = prn_objDom.createElement(attr(i, 0))
'ChildNode.setAttribute attr(i, 0), attr(i, 1)
ChildNode.Text = Value(i)
Node.appendChild ChildNode
Next
InsertBodyNodes = True
Exit Function
Error0: InsertBodyNodes = False
End Function
Private Sub Class_Terminate()
Set prn_objDom = Nothing
Set objNode = Nothing
Set SysInfo = Nothing
Set RootNode = Nothing
Set ParentNode = Nothing
Set ChildNode = Nothing
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -