Pfadproblem mit Application.filesearch

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von roddy.

    Pfadproblem mit Application.filesearch

    Hallo,

    anbei ein Ausschnitt aus einer Prozedur (ganz unten), die bislang funktioniert hat, letzte Woche aber auf einem Rechner, auf dem das Programm erstmals lief, merkwürdige Fehler produziert hat. Im Debugging-Modus konnte ich sehen, daß .LookIn = ThisWorkbook.Path genau der richtige Pfad war, aber das Ergebnis war 0, obwohl dort mehrere Excel-Files vorhanden waren. Beim Speichen ohne Pfadangabe in einer anderen Prozedur - wo bislang immer im selben Ordner wie das zugehörige Workbook gespeichert wurde (was auch so sein soll), wurde die zu speichernde Datei auf einmal auf einem ganz anderen Laufwerk unter einem ganz anderen Pfad abgelegt. Dies war allerdings ein Pfad, der zuvor von dem Rechner aus mit einem anderen Programm benutzt wurde. Es hat den Anschein, als würde trotz der expliziten Pfadzuweisung im Code bei diesem Rechner ein anderer Pfad durchsucht, der aber (für mich) nicht angezeigt wird. Ich habe dann später versuchsweise die Zeile

    Visual Basic-Quellcode

    1. ChDir (ThisWorkbook.Path)
    vorangestellt, funzt aber auch nicht. Kennt jemand das Problem, mache ich was falsch, oder ist das ggf. eine individuelle Fehlkonfiguration auf dem betroffenen Rechner?
    Besten Dank!
    Timo


    Visual Basic-Quellcode

    1. With Application.FileSearch
    2. .NewSearch
    3. .LookIn = ThisWorkbook.Path
    4. .Filename = "*.xls"
    5. If .Execute() > 0 Then
    6. v_AnzFiles = .FoundFiles.Count
    Warum das nicht funktioniert, verstehe ich nicht. Der Code ist in Ordnung und bei mir funktioniert es. Ich habe hier jedoch noch eine andere Variante zum Durchsuchen von Ordnern, vielleicht klappts ja damit:

    Visual Basic-Quellcode

    1. Set FSO = CreateObject("Scripting.FileSystemObject")
    2. Set Ordner = FSO.GetFolder(ThisWorkbook.Path)
    3. Set Dateien = Ordner.Files
    4. n = 0
    5. For Each Datei In Dateien
    6. If Datei.Name Like "*.xls" Then
    7. n = n + 1
    8. End If
    9. Next
    10. v_AnzFiles = n
    Hi,

    da brauche ich noch mehr Infos bitte:
    Als was muß ich denn die Variablen deklarieren? Habe FSO als Object und FileSystemObject probiert, wird aber beides nicht akzeptiert.

    Application.FileSearch geht mir ganz schön auf die Nerven. Jetzt bekomme ich auch Abstürze auf meinem Rechner, weil er in einem Pfad unterwegs ist, der schon lange gelöscht ist. Keine Ahnung, wie er da hin kommt. Insofern bin ich sehr interessiert an einer stabilen Alternative...

    Danke & Gruß
    Timo

    Edit:
    Zum Thema filesearch habe ich einen interessanten Hinweis unter
    tech-archive.net/Archive/Germa….access/2004-03/0594.html
    gefunden. Mit diesem Workaround (temporär neues Verzeichnis anlegen) funzt es momentan, aber das will ja nichts heißen...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dwt73“ ()

    Mit folgender Deklaration kommt bei mir keine Fehlermeldung:

    Visual Basic-Quellcode

    1. Dim FSO As Object, Ordner As Object, Dateien As Object, Datei As Object


    Vielleicht musst du noch einen Verweis setzen (Extras - Verweise). Bei mir sind folgende Verweise in Excel-VBA aktiviert:

    • Visual Basic For Applications
    • Microsoft Excel 10.0 Object Library
    • OLE Automation
    • Microsoft Office 10.0 Object Library
    Diese Verweise waren bei mir aber schon von Anfang an gesetzt.


    FileSearch liefert auch bei mir merkwürdige Ergebnisse. Wenn ich z. B. die komplette Festplatte durchsuche (.LookIn = "C:\"), greift das Programm auch auf das Diskettenlaufwerk zu und bringt als Resultate (.FoundFiles(x)) auch URLs ("http:..."). Keine Ahnung wo er die hernimmt. Daher bin ich dann auf die FSO-Variante umgestiegen.
    Merkwürdig, also unter Extras gibt's bei mir keinen Punkt "Verweise". Auch nicht unter "Optionen".
    Ich benutze Office XP in einer vom Kunden betriebsgeführten Büro-Landschaft. Möglicherweise wurde diese Möglichkeit der Konfiguration durch die Admins eingeschränkt.
    Die Hilfe bietet mir zum Stichpunkt "Verweise" auch nur Themen zu Excel-Bezügen an. :wacko:

    Ich werde mal beobachten, wie der Workaround läuft und dann ggf. mal die Jungs vom Tech-Support mit in's Boot holen.

    Viele Grüße
    Timo

    dwt73 schrieb:

    Die Hilfe bietet mir zum Stichpunkt "Verweise" auch nur Themen zu Excel-Bezügen an.


    Daraus schließe ich, dass du in Excel selbst unter "Extras" nachgeschaut hast. Ich meinte eigentlich "Extras" im Menü des VB-Editors von Excel. Falls du doch dort nachgeschaut hast, nehme ich meine Vermutung zurück *schäm*.