Veröffentlicht 5. April 200223 j If (Mid(objFile.Name, 1, 7)) = "CITOTBL" Then If (FileExists("\\JVKRAXON\CEDS$\FILES\CITOTBL.TXT")) Then DeleteFile "\\JVKRAXON\CEDS$\FILES\CITOTBL.TXT" End If objFile.Copy "\\JVKRAXON\CEDS$\" objFile.Name = "CITOTBL.TXT" objFile.Copy "\\JVGRIZZLY\CEDS$\FILES\" objFile.Name = "CITOTBL.TXT" objFile.Move "\\JVKRAXON\TRANSFER\NEW\" End If so, der compiler meckert wegen FileExists...warum? Der sagt: type mismatch
5. April 200223 j Hmmmm du hast aber nicht das ganze Script gepostet. In Welcher Application hast das Script denn drin? (Waer vielleicht auch hilfreich, das zu wissen) ....und wieso sollte da eigentlich n Compiler meckern ? Goos
5. April 200223 j 1. VBA ist eine reine Interpretersprache. Es gibt keinen Compiler im herkömmlichen Sinn, da die Kommandos erst zur Laufzeit ausgewertet werden. 2. Das was du meinst ist bestimmt die automatische Syntaxprüfung. Die erkennt wie der Name schon sagt nur Syntaxfehlern. 3. Mir ist nicht bekannt, dass es in VBA eine FileExists-Funktion existiert. (Habe aber leider gerade kein Office da, um zu nachzuschauen) 4. Möglich wäre auch, dass keine UNC-Pfade unterstützt werden, dann würde aber eine andere Fehlermeldung kommen. --- Zur Lösung des Problems: a) Prüfen, ob eine Funktion namens FileExists für VBA exisitert (-->Objektkatalog). Es kann sein, dass es eine für das Scripting.FileSystemObject gibt. Dann muss dieses auch korrekt angegeben werden. [ fsObj.FileExists(...) ] Parameter der Funktion prüfen c) Funktion im Testfenster ausführen ? FileExists("\\JVKRAXON\CEDS$\FILES\CITOTBL.TXT")) Hoffe das hilft weiter
8. April 200223 j Hi, Olli Master hat recht, die Funktion FileExists kann nur in verbindung mit einem FilesystemObject überprüft werden also fso.FileExists(filename) Zumindest ist es in VBScript so. Gruß, Tiana
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.