Frage

In Excel 2010 VBA verwende ich die Eigenschaft Fileexists Eigenschaft des Dateisystemobjekts, um zu prüfen, ob eine Datei vorhanden ist. Auf meinem Computer funktioniert es gut. Auf einem anderen Excel 2010-Computer berichtet jedoch, dass die Datei nicht vorhanden ist, wenn wir in der Tat in Windows Explorer sehen, dass die Datei vorhanden ist. In beiden Fällen ist die überprüfte Datei auf der lokalen Festplatte.

Ich überprüfe die Datei direkt nach der Verwendung von Shell, um die Datei zu entpacken. Ich benutze Doevents nach dem Unzip. Die Datei wird in denselben Ordner extrahiert, in dem sich die ZIP-Datei befindet.

Hier ist der Code:

generasacodicetagpre.

Alle Ideen, warum dies auf einem Computer gut funktioniert, berichtet jedoch auf einem anderen Computer, dass die Datei nicht vorhanden ist, obwohl wir sehen, ob es eindeutig ist?

update:

Ich dachte, ich würde diese Notiz hinzufügen, falls es hilfreich sein kann, dass andere in derselben Snag laufen.

Das grundlegende Basiswert war, dass bei der Verwendung von Shell, um eine Reißverschlussdatei zu extrahieren, die Namenseigenschaft des Zifferblattobjekts nicht die Erweiterung enthält, wenn Windows Explorer Extensionen versteckt und die Datei eine registrierte Erweiterung hat. Zum Beispiel:

generasacodicetagpre.

Wenn der Windows Explorer zum Ausblenden von Erweiterungen eingestellt ist und die Reißverschlussdatei über eine registrierte Erweiterung verfügt, beinhaltet strShellzipFileInzipFileFileName nicht die Erweiterung.

Das ReißverschlussfileInzipfile) hat jedoch auch eine Pfadeigenschaft, die die Erweiterung enthält. So können Sie den Dateinamen einschließlich der Erweiterung so erhalten:

generasacodicetagpre.

War es hilfreich?

Lösung

Eine Sache, die man beachten kann, ist die Ordneroptionen in Windows Explorer.Dies kann Ihnen in diesem Fall nicht helfen, aber ich hatte eine Reihe von FSO-Interaktionen, mit denen ein großes Problem mit der Funktionsweise von Dateien in Windows Explorer angezeigt wird.Etwas so einfaches, wie Ihr System die Dateierweiterung anzeigt, und der andere ist nicht, kann manchmal der Täter im Suchen von Dateien sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top