Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  MicroStation/PowerDraft (J, V8, XM, V8i)
  VBA-Userform Frage

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VBA-Userform Frage (724 mal gelesen)
medico
Mitglied



Sehen Sie sich das Profil von medico an!   Senden Sie eine Private Message an medico  Schreiben Sie einen Gästebucheintrag für medico

Beiträge: 10
Registriert: 11.06.2013

erstellt am: 08. Jun. 2015 08:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo zusammen,

ich habe eine Userform erstellt um Informationen zur Zeichnung in einer XML Datei zu speichern und diese auch wieder auszulesen. Das klappt auch wunderbar.
Ich öffne das UserForm über ein Makro und trage dann die Daten ein. Wenn ich jetzt aber die Zeichnung wechsel und das UserForm noch offen ist, dann wird in der neu geöffneten Zeichnung noch die Daten von der Zeichnung davor angezeigt. Ich muss erst das UserForm schließen und wieder öffnen damit die richtige Daten angezeigt werden.

Könnt Ihr mir helfen wie ich das ändern kann. Z.B. das sich das UserForm immer schließt wenn ich die Zeichnung wechsle?

Hier mal mein Code:

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

 
If xmlDoc.XML = "" Then
  Me.roVar2 = ""
  Me.roVar1 = ""
  Me.roVar3 = ""
  Me.ronotizen = ""
 
Else
  Set xmlElm = xmlDoc.getElementsByTagName("RVar2").Item(0)
  Me.roVar2 = xmlElm.Text
  Set xmlElm = xmlDoc.getElementsByTagName("RVar1").Item(0)
  Me.roVar1 = xmlElm.Text
  Set xmlElm = xmlDoc.getElementsByTagName("RVar3").Item(0)
  Me.roVar3 = xmlElm.Text
  Set xmlElm = xmlDoc.getElementsByTagName("RNotizen").Item(0)
  Me.ronotizen = 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("RVar2")
Set txtNode = xmlDoc.createTextNode(Me.roVar2)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm

Set xmlElm = xmlDoc.CreateElement("RVar1")
Set txtNode = xmlDoc.createTextNode(Me.roVar1)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm

Set xmlElm = xmlDoc.CreateElement("RVar3")
Set txtNode = xmlDoc.createTextNode(Me.roVar3)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm

Set xmlElm = xmlDoc.CreateElement("RNotizen")
Set txtNode = xmlDoc.createTextNode(Me.ronotizen)
xmlElm.appendChild txtNode
xmlDoc.DocumentElement.appendChild xmlElm


xmlDoc.Save xmlDocPath

End Sub



Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz