Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
924to928
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
924to928
924to928
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

TreeView

TreeView
16.11.2007 20:19:00
shaka
Hallo Leute,
ich habe folgendes UserForm mit TreeView:
Userbild
In diesem TreeView möchte ich ein Tree mit 3 Ebenen haben.
Man gibt den Namen ins TextBox ein, klick auf entsprechendes Button und in TreeView erscheint entsprechendes Node.
Hier ist der Quell-Code fürs Button "+ Gruppe" (quasi Root-Nodes):

Private Sub btn_PI_Gruppe_Click()
Dim tempNode1 As Node
With uf_ProduktInput
If .tb_PI_name.Value = "" Then
MsgBox "Bitte geben Sie die Bezeichnung ein", vbOKOnly, "Fehler"
.tb_PI_name.SetFocus
Else
Set tempNode1 = .uf_PI_tree.Nodes.Add(, , , uf_ProduktInput.tb_PI_name.Value)
.tb_PI_name.Value = ""
.tb_PI_name.SetFocus
tempNode1.Expanded = True
End If
End With
End Sub


Um ein Node für Modell oder Generation einzufügen, muss man nur ein Node auswählen und auf ensprechendes Button klicken. Hier benutze ich den gleichen Quell-Code mit einer Ausnahme:
Set tempNode2 = .Nodes.Add(.SelectedItem.Index, tvwChild, , uf_ProduktInput.tb_PI_name.Value)
Allerdings kriege ich folgendes nicht hin (hab schon vieles versucht, aber ohne Erfolg):
1. Ich möchte, dass die Namen eindeutig sind, sprich keine Nodes den gleichen Namen haben.
2. Wie kann ich die Anzahl der Children-Nodes begrenzen? Ich möchte z.B. dass Root-Node ("Gruppe") nur ein Child-Node ("Modell") haben darf.
3. Wie kann man die Anzahl von Ebenen festlegen bzw. rausfinden auf welcher Ebene man ist? In meinem Fall wären es nur 3 Ebenen: Gruppe, Modell, Generation.
Wenn jemand mir ein paar Tipps geben könnte, wäre ich sehr dankbar!
Gruß
shaka

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TreeView
17.11.2007 10:10:00
Luschi
Hallo Shaka,
wenn Du die Exceldatei mit dem Formular auf den Herber-Server lädst, helfe ich Dir gern.
Mir fehlt leider die Zeit zum Nachbau des Treeviews.
In meinen Excel-Anwendungen arbeite ich sehr oft mit dem Treeview zum Steuern der Tabellen mit den dazugehörigen Filterbedingungen.
Gruß von Luschi
aus klein-Paris

AW: TreeView
18.11.2007 12:18:00
shaka
Hi Luschi,
hier ist die Datei:
https://www.herber.de/bbs/user/47832.xls
Es ist merkwürdig, aber die laüft bei mir zu Hause nicht! Excel kann den Befehl Dim tempNode1 As Node nicht bearbeiten! In Büro ist es nicht der Fall...
Wenn es bei dir nicht laufen wird, dann kannst einfach Dim tempNode1 As Node auskommentieren!
Den Befehl Set tempNode1 = .... muss du dann einfach kürzen auf .uf_PI_tree.Nodes.Add , , , uf_ProduktInput.tb_PI_name.Value
tempNode1.Expanded = True auch auskommentieren
Es wäre super, wenn du mir weiterhelfen könntest! Sonst muss ich mir etwas anderes überlegen...
Vielen Dank und Gruß
shaka

Anzeige
AW: TreeView
18.11.2007 23:27:34
Luschi
Hallo shaka,
für das Treeview muß man im Vba-Editor einen Verweis auf die Datei 'MSCOMCTL.OCX' setzen. Diese befindet sich i.R. in 'c:\windows\system32\'. Ich schaue mir das Ganze mal Morgen an.
Gruß von Luschi
aus klein-Paris

AW: TreeView
19.11.2007 08:57:00
Luschi
Hallo shaka,
hier das von mir erweiterte Beispiel: https://www.herber.de/bbs/user/47849.xls
Ein paar nützliche Hinweise findest Du hier:
http://www.oreilly.com/catalog/vbcnut/chapter/ch05-tv.html
Gruß von Luschi
aus klein-Paris
PS: allerdings stelle ich mir die Frage, was Du mit dem Treeview jetzt anstellen willst?
Hinter den einzelnen Knotenpunkten steckt doch gar keine Funktionalität.
Mein Treeview-Aufbau steht in 1 Tabelle, die beim Initialisieren des Formulars ausgelesen und so der Treeview-Baum aufgebaut wird.
Um dann dem Treeview noch Leben einzuzuhauchen, braucht man noch ein ein paar Collection-Objekte und ein Klassenmodul, in dem die Ereignisse stecken; also was passieren soll, wenn man auf 1 bestimmten Knotenpunkt klickt.
Aber diese Technologie hat mein Chef zum Betriebsgeheimnis erklärt und dabei darf ich Dir leider nicht helfen.
Bei allgemeinen Fragen helfe ich Dir aber weiterhin.

Anzeige
AW: TreeView
19.11.2007 19:57:00
shaka
Hallo Luschi,
vielen Dank für deine Hilfe!
Den TreeView wollte ich zur Eingabe der Produkten in unserem Laden nutzen.
Und zwar nicht für Datenabfrage, sondern zur Erstellung der Planungen.
Sprich, für jede Gruppe gäbe es am Ende jeweils eine Tabelle mit Modellen und Generationen des Produktes.
Man kann das natürlich auch mit normalen Eingabetabellen machen, aber ich wollte es etwas "interessanter" gestalten (gewisse Gewohnheit aus Java Swing).
Aber ich werde es mir noch überlegen, ob ich wirklich mit TreeView in dem Fall arbeite! Weil am Ende muss ich (wie gesagt) alle Nodes auslesen und daraus Tabellen basteln.
Vielleicht hab ich einfach übertrieben mit der Auswahl der Methode!
Aber Vielen Dank nochmals für deine Hilfe!
Gruß
shaka
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige