vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
UserForm Daten in XML Datei speichern 
Autor: medico
Datum: 28.07.15 11:10

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
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
UserForm Daten in XML Datei speichern1.301medico28.07.15 11:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel