Tag Archives: Pfad

Wenn ich zwei Dinge gleichzeitig kann, dann ist es lächeln und dabei Mordgedanken hegen.

Nennen wir ihn B. B. kann für Björn stehen. Oder für Benno. Für Benjamin oder für Boris. Egal. Wir nennen ihn B.

B. ist Teilnehmer meiner Excelschulung und stellt eine Frage zum Aufbereiten von CSV-Dateien, die er in regelmäßigen Abständen erhält. Er denkt an eine VBA-Lösung – ich schlage PowerQuery vor. Die Datei wird aufgerufen, transformiert und nach Excel zurück geschrieben.

Allerdings: der Pfad, beziehungsweise der Dateiname soll variabel sein. Eigentlich kein Problem, denke ich, und lasse B. Pfad und Dateiname in die Excelmappe schreiben, mit einer Überschrift versehen und in eine (intelligente) Tabelle umwandeln.

Beide Tabellen werden nach PowerQuery gezogen, und dort mit einem Drilldown in einen Text verwandelt. Sie werden in dem Befehl

File.Contents

verwendet; die Sicherheitsstufe dieser Arbeitsmappe wurde ignoriert. Und dann das Erstaunliche:

DataFormat.Error: Der angegebene Dateipfad muss ein gültiger absoluter Pfad sein.

Stirnrunzeln.

Probieren. Beispielsweise Pfad und Dateiname in PowerQuery (oder in Excel) zu verketten und diese Zeichenkette zu verwenden. Beides schlägt fehl:

Immer wieder die gleiche Fehlermeldung:

DataFormat.Error: Der angegebene Dateipfad muss ein gültiger absoluter Pfad sein.

In Ruhe, alleine, und ohne B. schaue ich mir die Zeichenkette genau an und probiere. Erstaunt stelle ich fest, dass das erste Zeichen nicht der Laufwerksbuchstabe ist. In Excel kann man das mit der Funktion LINKS oder TEIL ermitteln. Der ASCII-Code lautet 63 – eigentlich ein Fragezeichen.

Ich überlege, probiere und frage B. Er hat eigentlich nur den Namen des Verzeichnisses aus den Dateieigenschaften kopiert. Und ich habe ihm zugesehen.

Ich weiß nicht, wie dieses merkwürdige Zeichen in die Excelzelle gelangt ist. Ich weiß, dass Excel bei einigen Zeichen (geschützte Leerzeichen, bedingte Trennstriche, …), die man über Word, Outlook oder eine Webseite nach Excel kopieren kann, Probleme hat. Aber hier? Keine Ahnung.

Lösung des Problems: Pfad neu tippen – und dann klappt es!?!

Wenn du im Dschungelcamp niemanden kennst hast du im Leben alles richtig gemacht.

Liebe Microsoft-Macher,

ich wünsche mir, dass ihr euch mal unterhaltet. Über die Anwendungsprogramme, die ihr uns verkauft. Für die wir Geld bezahlen. Es wäre schön, wenn sie sehr, sehr ähnlich wären.

Warum sehe ich in Access in der Titelleiste den Pfad und den Dateinamen:

In Excel dagegen nur den Dateinamen?

Es wäre doch so schön …


Coco Chanel sagt, man solle das Parfum dorthin sprühen, wo man geküsst werden will. Brennt jetzt aber ziemlich.

Hallo Herr D.,

danke für den Hinweis.
Wir haben ein Problem! Ich habe es mal eingekreist:

In einer Datei habe ich fünf Verknüpfungen auf eine andere Datei:

Ich ersetze den Pfad durch einen anderen Pfad, in dem die Datei noch einmal liegt:

Klappt!
Ich ersetze den Pfad durch einen anderen Pfad, in dem die Datei nicht liegt oder durch einen anderen Ordner, der nicht existiert. Es öffnet sich das Suchfester, das abfragt, wo denn die Datei liegt:

Ich breche es ab.
Was passiert: Excel hat nur in der ausgewählten Zelle den Pfad geändert – in allen anderen nicht!

Das heißt: da Sie SUMMEWENNS-Formeln auf mehrere Dateien aufsetzen:

SUMMEWENNS( … \xyz\[2017-04-27_xyz_EHB_KoPrüf Gas 2015_Verpächter_1_SWM_überarbeitet Biogas.xlsx] … + \abc2\[2016-08-01_xyz_EHB_KoPrüf Gas 2015_Verpächter_3_GVG_versandt.xlsx]

„erkennt“ Excel den Gesamtpfad als nicht gültig und stoppt den Ersetzvorgang.

Nun haben wir ein Problem: die zirka 50.000 Formeln beziehen sich auf zwei Ordner, die es nicht mehr gibt. Sobald ich einen versuche zu reparieren, weigert sich Excel diesen Vorgang in allen Zellen durchzuführen.

Was machen wir? Haben Sie nur einige wenige solcher Dateien? Dann könnte man den Pfad so „hinbiegen“, dass er beim ersten Ersetzvorgang korrekt ist, beim zweiten immer noch, beim dritten auch …
Haben Sie „viele“ solcher Dateien? Dann muss ich noch einmal in mich gehen …

„Hübscher“ Bug zum Thema „Excel ersetzt nicht“. Oder „Excel ersetzt nur einmal“. Oder „Ersetzen in Excel klappt nicht.“

Immer auf dem Teppich bleiben – und keine großen Sprünge machen, wenn das Daruntergekehrte verborgen bleiben soll.

Heute in der Excel-VBA-Schulung. Wir erstellen ein Beispiel: Zähle solange eine Nummer hoch, bis es eine Datei mit der entsprechenden Nummer nicht mehr gibt. Speichere dann die Datei unter dieser Nummer.

Bei mir funktioniert das Beispiel. Ein Teilnehmer hatte einen Fehler und rief mich. Ich war erstaunt über die Fehlermeldung:

Dateiname oder -nummer falsch

Noch erstaunter war ich, dass die Datei gespeichert war in:

D:\D:\Eigene Dateien\Excel\…

Zwei Mal D:\D:\ …?!?

Zuerst wollte ich Excel wüst beschimpfen, dann schaute ich mir den Code genauer an. Der Teilnehmer hatte die Datei gespeichert in.

„D:\“ & strPfad & strDatei

Erstaunlich: die Datei ist im Explorer nicht auffindbar. Excel (und VBA) behaupte jedoch, dass der FullName lautet:

D:\D:\Eigene Dateien\Excel\…