Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1576to1580
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
Inhaltsverzeichnis

Pfad-Problem bei VBA Einlesen-Script

Pfad-Problem bei VBA Einlesen-Script
02.09.2017 15:08:25
Jürgen
Hallo zusammen,
ich habe ein schon älteres Script, dass bisher gute Dienste leistete.
Unverhofft kommt oft, und so versagt es jetzt seinen Dienst wie auch immer.
Mein Problem:
es sollen txt-Dateien aus einem Verzeichnis und den darin befindlichen Unterordnern eingelesen bzw. ausgelesen werden.
Das funktioniert jetzt nur noch, wenn alle txt-Dateien direkt im Pfad stehen, aber werden nicht mehr in den Unterordnern gefunden.

Mein Excel-Sheet ist leider größer als 300kb, deshalb bekomme ich es nicht hochgeladen. Darum hier die Scripte dazu in den Dateien. Vielleicht müsste man die Pfadangaben innerhalb des Scriptes anpassen!? Falls, keine Ahnung warum nun auf einmal. Es hat schon mal so funktioniert, allerdings war dabei es ein anderes Laufwerk:
Code Arbeitsblatt:
https://www.herber.de/bbs/user/115959.txt
Code Tabelle1:
https://www.herber.de/bbs/user/115960.txt
Danke für jede Info!
Gruss, Juergen

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad-Problem bei VBA Einlesen-Script
02.09.2017 16:12:10
Piet
Hallo Jürgen
ich weiss nicht ob ich auf Anhieb etwas gesehen habe, lasse den Thread deshalb offen.
Ich sehe das du in einem Modul mit Private Const cstrPath arbeitest, das solltest du auf Public stellen! - Öffentlich für alle Module.
In dem Fall brauchst du nicht die quelle mit einem eigenen Text angeben, sondern setze direkt cstrPath ein!
ıch sehe auch die Anweisung: - ChDrive (Left(quelle, 3)) - und weiss nicht of das richtig ist?
Ich gebe bei mir zum Laufwerkwechsel nur den 1. Buchstaben an, ohne ":\" dahinter. Probier es einfach mal aus.
mfg Piet
AW: Pfad-Problem bei VBA Einlesen-Script
02.09.2017 17:09:48
Jürgen
Hallo Piet,
danke für Antwort.
a) bei Umstellung auf "Public" bei "Private Const cstrPath" bekomme ich den Fehler:

b) bei Laufwerks-Angabe als Buchstabe "ChDrive (Left(quelle, 3))" auf "ChDrive (Left(C, 3))", bekomme ich einen Variablen Fehler
c) allerdings habe ich jetzt mal noch die Pfadangaben dahin ergänzt, dass diese so lauten, also mit dem Unterverzeichnis "...\ordner1\, dann liest er zumindest aus diesem einem Ordner auch die txt-Datei aus.
Zudem habe ich meine Verzeichnisbenennung von "txt-quelle" auf "txt-basis" geändert, da ich bemerkt habe , dass die Variable auch "quelle" heisst. Nur um evtl. dort einen Konflikt zu vermeiden.
Also wenn ich nun eine absolute Pfad-Angabe mache (C:\tmp\txt-basis\ordner1\" dann wird darin auch die txt-Datei ausgelesen. Hingegen wenn die Pfadangabe lautet "C:ßtmp\txt-basis\" kommt die Fehlermeldung:

Es scheint wirklich so, dass das Script nicht mehr die Unterordner berücksichtigt. Was für eine Anweisung ist falsch oder fehlt nun im Script?
Verhext :/
Danke für jeden Hinweis!
Gruss,
Juergen
Anzeige
AW: Pfad-Problem bei VBA Einlesen-Script
02.09.2017 17:23:46
Piet
Hallo Jürgen
ich habe bei meinem Tipp auf Public umzustellen vielleicht übersehen in welcher Art Modul sich die Const Anweisung befindet. Public Variable müssen meines Wissens in einem Normalen Modul stehen, nicht in einem Klassenmodul oder einem Tabellnblatt. Dann sind sie für alle anderen Module öffentlich wirksam.
Probiere beide Puclic Const einmal in einem normalen Modulblatt aus. Dann sollte es gehen.
mfg Piet
AW: offenstellen vergessen oWt
02.09.2017 17:27:48
Piet
...
AW: offenstellen vergessen oWt
02.09.2017 17:48:07
Jürgen
Hallo Piet,
habe nun ein weiteres Modul eingefügt und darin den Code aus "Tabelle 1" mit den entsprechenden Anweisungen von "Private" auf "Public" gesetzt.
Folgendes Ergebnis:
Ich habe ja in meinem Pfad mehrere Unterordner, also ...\Ordner1, ...\Ornder2, ...\Ordner3, usw.
Jetzt wird die txt-Datei aus dem jüngst erstellten Unter-Ordner eingelesen. Also quasi C:\tmp\txt-basis\ordner1\... Dann stoppt der Import-Vorgang.
Die weiteren Unterordner werden unberücksichtigt gelassen. Mir scheint es fast so, als würde das Problem nicht an der Pfadangabe liegen, sondern eher in der Schleife, welches das Prozedere bei jedem Unterordner wiederholt zum auslesen!? Denn warum sollte die Pfadangabe nicht passen, wenn doch aus einem Unterordner die txt-Datei ausgelesen wird?
Könnte das sein?
Danke & Gruss,
Juergen
Anzeige
AW: Lösung gefunden!!!
02.09.2017 20:38:05
Jürgen
Hallo,
ein wirklich fieser Fehler......
Da das neue Laufwerk, welches die Daten beherbergt, nun nicht mehr Win basierend ist sondern auf Linux aufgesetzt ist, machte folgende Script-Zeile schlapp:
a) hier die bestehende Anweisung: If (GetAttr(quelle & "\" & suche) = 16) then
b) Lösung: If (GetAttr(quelle & "\" & suche) = 16) Or (GetAttr(quelle & "\" & suche) = 48) Then
Hinweis:
16 = Verzeichniss
32 = Archiviert
48 = beides!
Danke für die Unterstützung!
Gruss,
Juergen
AW: Lösung gefunden!!!
03.09.2017 15:22:17
Piet
Hallo Jürgen
freut mich sehr das du den Fehler selbst gefunden hast und uns die Lösung ins Forum stellst.
Ein schönes Beispiel für den Forum Gedanken - Hilfe zur Selbsthilfe !!
mfg Piet
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige