Anzeige
Archiv - Navigation
860to864
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
860to864
860to864
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

860to864: relativer Bezug in absolut

relativer Bezug in absolut
10.04.2007 13:43:00
Ceci
Hallo Forum,
ich habe ein Tabellenblatt, in dem relative Bezüge stehen (nicht als Formel nur als Text!).
Ich möchte mit VBA prüfen, ob der Bezug gültig ist, dafür brauche ich den absoluten Pfad.
Wir kann ich innerhalb meines Makros aus dem relativen Pfad
..\..\..\MH_online\7 pdf\7.5\Kapitel 7.5.pdf
einen absoluten Pfad
C:\Common\MH_online\7 pdf\7.5\Kapitel 7.5.pdf
machen? Kann man den gesamten Pfad überhaupt rausbekommen?
Ich habe bereits im Archiv gesucht, aber F4 bzw. convertformula hilft mir nicht weiter, da ich wie gesagt keinen Zellbezug in der Zelle habe, sondern reinen Text.
Bin schon am Verzweifeln,
mfg Ceci

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: relativer Bezug in absolut
10.04.2007 14:57:00
IngGi
Hallo Ceci,
folgende Codezeilen ermitteln aus dem angegebenen relativen Pfad den absoluten Pfad:
Dim fso As Object
Dim f As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFile("..\..\..\MH_online\7 pdf\7.5\Kapitel 7.5.pdf")
Der absolute Pfad ist jetzt über "f.Path" verfügbar.
Aber:
Die relative Pfadangabe allein reicht als Info ja noch nicht aus. Um daraus eine absolute Pfadangabe zu ermitteln, benötigst du noch den Ausgangsordner. Obige Codezeilen nehmen immer den gerade aktiven Ordner (zu ermitteln über CurDir) als Ausgangsordner.
Gruß Ingolf
Anzeige
AW: relativer Bezug in absolut
10.04.2007 15:11:00
Ceci
Hallo Ingolf,
ich habe deinen code in eine Testdatei kopiert.
Das Programm wird unterbrochen und es erscheint die Meldung "Datei nicht gefunden" Laufzeitfehler 54
Ich komme gar nicht erst bis f.path...
mfg Ceci
AW: relativer Bezug in absolut
10.04.2007 16:41:00
IngGi
Hallo Ceci,
ja klar, ich Dussel. Wenn die betreffende Datei nicht existiert, ergibt das einen Laufzeitfehler. Aber im Endeffekt willst du ja ohnehin prüfen, ob eine bestimmte Datei existiert. Das geht auch mit folgender Funktion, die auch relative Pfade akzeptiert. Die Funktion gibt "True" zurück, wenn die Datei existiert bzw. "False", wenn sie nicht existiert.
Hier die Funktion:
Private Function DateiVorhanden(DatName As String) As Boolean
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
DateiVorhanden = fso.FileExists(DatName)
End Function
Und hier ein beispielhafter Aufruf aus deinem Makro heraus:
Dim blnVorhanden As Boolean
blnVorhanden = DateiVorhanden("..\..\..\MH_online\7 pdf\7.5\Kapitel 7.5.pdf")
Die Variablendeklaration würde ich dabei natürlich an den Anfang des Makros stellen. Aber Achtung: Auch hier gilt wieder die Einschränkung, dass relative Pfadangaben vom aktuell aktiven Ordner ausgehen. Es muss also sichergestellt sein, dass der aktive Ordner zu der relativen Pfadangabe passt, sonst wird im falschen Pfad gesucht und dadurch möglicherweise eine Datei nicht gefunden, die aber tatsächlich vorhanden ist!
Gruß Ingolf
Anzeige
Dankeschön
11.04.2007 06:41:00
Ceci
Hallo Ingolf,
das hilfe mir sehr viel weiter! vielen Dank für deine Hilfe!
mfg Ceci

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige