Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

UserForm Daten in XML Datei speichern

UserForm Daten in XML Datei speichern
28.07.2015 09:27:02
Andreas
Hallo zusammen,
ich habe ein UserForm erstellt (nicht für Excel sondern in einem CAD Programm) mit dem ich Daten die dort eingetragen werden in eine XML Datei geschrieben werden und auch wieder ausgelesen werden.
Da klappt auch super.
Nun ist es so das ich ein weiteres Feld benötigte, das ist soweit kein Problem wenn noch keine XML Datei besteht, aber sobald ich das für eine Datei mache in der schon eine XML Datei besteht, kommt es zu einer Fehlermeldung. (Ist glaube ich auch klar, weil in der vorhanden XML Datei, ja dieses Feld nicht vorhanden ist)
Da meine Kenntnisse nun nicht so gut sind, weiß ich nicht was ich machen kann/soll damit das auch bei bestehender XML Datei funktioniert. Vielleicht könnt Ihr mir helfen.
Hier mal mein Code
Private Sub UserForm_Initialize()
Dim xmlDocPath As String
Const CurrentFolder          As String = "$(_dgndir)"
ropath = "xml\data.xml"
xmlDocPath = ActiveWorkspace.ExpandConfigurationVariable(CurrentFolder) & ropath
Dim xmlDoc As Object
Dim xmlElm As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlDoc.Load xmlDocPath
'MsgBox xmlDoc.XML
If xmlDoc.XML = "" Then
Me.ro01 = ""
Me.ro02 = ""
Me.ro03 = ""
Me.ro04 = ""
Else
Set xmlElm = xmlDoc.getElementsByTagName("R01").Item(0)
Me.ro01 = xmlElm.Text
Set xmlElm = xmlDoc.getElementsByTagName("R02").Item(0)
Me.ro02 = xmlElm.Text
Set xmlElm = xmlDoc.getElementsByTagName("R03").Item(0)
Me.ro03 = xmlElm.Text
Set xmlElm = xmlDoc.getElementsByTagName("R04").Item(0)
Me.ro04 = xmlElm.Text
End If
End Sub
Private Sub CommandButton1_Click()
Dim xmlDocPath As String
Const CurrentFolder          As String = "$(_dgndir)"
'ropath = "xml\data.xml"
ropathfolder = "xml"
'xmlDocPath = ActiveWorkspace.ExpandConfigurationVariable(CurrentFolder) & ropath
xmlDocPath = ActiveWorkspace.ExpandConfigurationVariable(CurrentFolder) & ropathfolder
If Len(Dir(xmlDocPath, vbDirectory)) = 0 Then
MkDir xmlDocPath
End If
xmlDocPath = xmlDocPath & "\data.xml"
Dim xmlDoc As Object
Dim xmlElm As Object
Dim txtNode As Object
Dim pInstr As Object
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
Set xmlElm = xmlDoc.CreateElement("UFdata")
xmlDoc.DocumentElement = xmlElm
Set pInstr = xmlDoc.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""")
xmlDoc.InsertBefore pInstr, xmlDoc.DocumentElement
Set xmlElm = xmlDoc.CreateElement("R01")
Set txtNode = xmlDoc.createTextNode(Me.ro01)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm
Set xmlElm = xmlDoc.CreateElement("R02")
Set txtNode = xmlDoc.createTextNode(Me.ro02)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm
Set xmlElm = xmlDoc.CreateElement("R03")
Set txtNode = xmlDoc.createTextNode(Me.ro03)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm
Set xmlElm = xmlDoc.CreateElement("R04")
Set txtNode = xmlDoc.createTextNode(Me.ro04)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm
xmlDoc.Save xmlDocPath
End Sub

Danke schon mal und Gruß
Andreas

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: UserForm Daten in XML Datei speichern
29.07.2015 12:23:26
Andreas
Kann mir keiner helfen?
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige