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

Funktion

Funktion
09.10.2002 14:20:40
Bernhard
Hallo Leute!

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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Funktion
09.10.2002 19:14:38
Coach
Hallo Bernhard,

rekursive Funktionen benötigen einfach nur lokale Variablen (in der Sub/Funktion definierte), um den Zustand vor dem nächsten Aufruf zu bewahren.

Gruß Coach

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige