Hallo zusammen,
ich habe ein weiteres Makro geschrieben. Es soll dazu dienen, die Abläufe in unserem Unternehmen zu vereinfachen.
Funktionen dessen sind folgende:
-Alle Arbeitselemente und Ursprungselemente ausblenden
-Alle Untergeordneten ausblenden
-Alphabetische Sortierung des Modellbaums
-Speichern ohne, dass der User bestätigen muss
-Einchecken
Bei der Teilfunktion "Alle Untergeordneten ausblenden" habe ich nun eine Lösung gefunden, jedoch eher durch Glück als durch wissen.
Nun ist die Frage, warum funktioniert die Lösung?
Hier der Ausschnitt für das Ausblenden:
Dim oTopNode As BrowserNode
Set oTopNode = Doc.BrowserPanes.Item("Modell").TopNode
Dim oNode As BrowserNode
'Hier gehe ich durch die erste Ebene der Nodes
For Each oNode In oTopNode.BrowserNodes
If oNode.BrowserNodes.Count > 0 Then
Dim i As Integer
For i = 1 To oNode.BrowserNodes.Count
oNode.Visible = True
oNode.Expanded = False
i = i + 1
Next
End If
If oNode.Expanded = True Then
oNode.Visible = True
oNode.Expanded = False
End If
Next oNode
Usprünglich hatte ich für die Zeilen
oNode.Visible = True
oNode.Expanded = False
innerhalb der zweiten For-Schleife folgendes stehen:
oNode.BrowserNodes.Item(i).Visible = True
oNode.BrowserNodes.Item(i).Expanded = False
Eigentlich macht dieser Code für mich mehr Sinn, da ich IV aktiv sage, welche Unternodes er einklappen soll. Hier bringt er mir allerdings irgendwann eine Fehlermeldung.
Mit den oberen Zeilen funktioniert es, aber ich weiß nicht warum. Ich spreche die Unterknoten in meinem Code doch garnicht an...
Wäre jemand so nett, mir das zu erklären, was hier passiert?
Der Code ist nicht zusammenkopiert oder Ähnliches, das war wohl eher ein Glückstreffer. Wenn ich diesen Code aber freigebe und damit etwas ist, kann ich ja keine Ursache finden, was etwas doof ist.
Vielen Dank im Voraus!
------------------
Grüße, Thunja
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP