Ich habe eine Funktion erstellt, die mir aus einer Baumstruktur mit Haupt- u. Unterteilen
ein bestimmtes Teil sucht (Haupt- od. Unterteil), und diese mir dann weiter bearbeitet.
Beim finden eines Unterteils, welches wiederum eine Hauptteil darstellt (eine Strukturebene darunter),
ruft sich die Funktion selbst wieder auf, und sucht in der neuen Ebene nach dem bestimmten Teil, und so weiter und so fort.
Wird das gesuchte Teil aber nicht in der unteren Ebene gefunden, soll wieder in der Ebene darüber weitergesucht werden.
Genau hier habe ich das Problem. Wie stelle ich sicher, dass beim Zurückspringen auf eine Ebene höher,
die ursprünglichen Werte für die Schleife wieder übernommen werden?
Ich hoffe ihr könnt meinen Ausführungen folgen.
Anbei ein Auszug aus der Funktion:
'**** Open Assembly With RevisionManager
Set objRevDoc = objRevMan.Open(strDocument)
'**** Count Linked Documents
intLinks = objRevDoc.LinkedDocuments.Count
'**** Setting Of Collection Of All Links
Set objLinks = objRevDoc.LinkedDocuments
'**** If There Are Any Links...
If intLinks > 0 Then
'**** ...Do "Exchange"
For intLinkCount = 1 To intLinks
Set objThisLink = objLinks(intLinkCount)
strLinkName = objThisLink.FullName
intStrPos = InStr(1, strLinkName, strReplaceFrom)
If intStrPos > 0 Then
Call objThisLink.Replace(strReplaceTo)
Else
'**** Search For SubAssemlies
strExtension = Right(strLinkName, 4)
'**** erkenne eines weiteren Hauptteils (eine Ebene darunter)
If strExtension = ".asm" Then
strDocument = strLinkName
ExchangeParts strDocument, strReplaceFrom, strReplaceTo
End If
End If
Set objThisLink = Nothing
Next intLinkCount
Call objRevDoc.SaveAllLinks
Else
MsgBox "No linked documents found!"
End If
Anbei mögliche Struktur:
Hautteil
|
|-Unterteil
|-Unterteil
|
|-Hauptteil
| |
| |-Untertiel
| |-Hauptteil
| |
| |-Unterteil
|
|-Unterteil
|
etc...
Danke für euren Einsatz im voraus!!
Bernhard