evtl. kann mir hier jemand weiterhelfen, ich habe im Moment wohl eine kleine Denkblockade...
Ich versuche via VBA eine GUI nachzubauen die mir als XML Auszug vorliegt...
Das erstellen der Textboxen Labels usw. auf einem dynamisch generierten Userform ist bisher kein Problem.
Allerdings möchte ich jetzt auch noch die Frames nachbauen und leider liegen meine ganzen anderen Objekte jetzt immer unter diesen...
Ich lade momentan das XML via DOM und cycle durch das XML in einem SUB. Dort behandle ich je nach Element via CASE die einzelnen GUI-Objekte.
Momentan erstelle ich z.b. ein Label folgendermaßen:
Select Case xnode.Attributes.Item(x).Text
Case "Label"
Set lbl1 = CustForm.Designer.Controls.Add(Forms.Label.1")
With lbl1
.Name = lbl_new" & x
.Caption = "xnode.ChildNodes.Item(6).Attributes.Item(0).Text
.Top = ...
End With
xx = xx + 1
Für den Border:
Set Border1 = CustForm.Designer.Controls.Add("Forms.Frame.1")
With Border1
.Name = ...
End With
Ausserdem habe ich noch das Problem, dass ich Listboxen (welche ich als Table Ersatz nutze) scheinbar kein .Additem "text" nutzen kann... Die Listbox ist immer leer...
Userform wird via
Set CustForm = Application.VBE.ActiveVBProject.VBComponents.Add(3)
With CustForm
.Name = "CustForm"
.Properties...
End With
erstellt