Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1412to1416
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

Dynamisch erstellte Elemente...

Dynamisch erstellte Elemente...
04.03.2015 20:30:31
Chris
Hallo,
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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisch erstellte Elemente...
04.03.2015 21:19:28
Daniel
Hi
ein Frame ist quasi sowas wie eine Userform in der Userform.
Wenn du in ein Frame ein Control einfügen willst, musst du das auch angeben:
userform1.Frame1.Controls.Add
ich kenn jetzt deine Objektbenennungen nicht, aber hast du das bedacht?
Gruß Daniel

AW: Dynamisch erstellte Elemente...
04.03.2015 21:19:29
Daniel
Hi
ein Frame ist quasi sowas wie eine Userform in der Userform.
Wenn du in ein Frame ein Control einfügen willst, musst du das auch angeben:
userform1.Frame1.Controls.Add
ich kenn jetzt deine Objektbenennungen nicht, aber hast du das bedacht?
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige