Microsoft Excel

Herbers Excel/VBA-Archiv

Laufzeitfehler 1004 mit Array

Betrifft: Laufzeitfehler 1004 mit Array von: Patrick Müller
Geschrieben am: 16.11.2014 16:54:23

Hallo zusammen,

fange gerade mit VBA an und habe einige Probleme mit einem Array.

Ich frage in einer Schleife die enthaltenen Dateinamen in einem Ordner ab und speichere diese in einem String Array T.

Dim path As String
path = "C:..."
newpath = path & "\" & T(4)
Workbooks.Open newpath

Laufzeitfehler 1004

Das kuriose ist, wenn ich den Dateinamen nicht mit den Array übergebe funktioniert alles einwandfrei. Wenn ich mir mit Debug.Print newpath den neuen Dateinamen ausgeben lasse, ist dieser definitv richtig geschrieben.

stehe irgendwie auf dem schlauch. bin um jede hilfe dankbar! grüße

  

Betrifft: woher weißt Du das so genau? von: Tino
Geschrieben am: 16.11.2014 17:21:46

Hallo,

Wenn ich mir mit Debug.Print newpath den neuen Dateinamen ausgeben lasse, ist dieser definitv richtig geschrieben.

Hast Du den Pfad mal aus dem Direktfenster kopiert und über Win Ausführen getestet?
Oder ist evtl. ein Kennwort zum öffnen erforderlich?

Gruß Tino


  

Betrifft: AW: woher weißt Du das so genau? von: Luschi
Geschrieben am: 16.11.2014 18:32:39

Hallo,

laß Dir doch mal folgendes Ergebnis anzeigen:
newpath = path & "\" & T(4)
Debug.Print Dir(newpath, vbNormal)

Wenn hier ein Leerzeichen rauskommt, stimmt newpath nicht.

Gruß von Luschi
aus klein-Paris


  

Betrifft: AW: woher weißt Du das so genau? von: Patrick Müller
Geschrieben am: 18.11.2014 09:25:50

Hallo Luschi,

wenn ich

Debug.Print Dir(newpath, vbNormal)

eingebe, bekomme ich den Laufzeitfehler 52. Wenn ich mir jedoch mit

Debug.Print newpath

den Pfad ausgeben lasse, wird dieser korrekt angezeigt, nämlich:

C:\Users\Patrick\Desktop\Test1\Export\Smart.xlsm

ich kann mir das nicht erklären :-D


  

Betrifft: AW: woher weißt Du das so genau? von: Luschi
Geschrieben am: 18.11.2014 10:21:43

Hallo Patrick,

das glaub ich nicht: die Dir-Vba-Funktion ist sehr fehlerresitent programmiert. In keinem der folgenden 4 Dir()-Funktionen kommt es zu 1em Laufzeitfehler, obwohl der Pfad so überhaupt nicht existiert!
Das Ergebis ist immer: ''

Sub test1()
    Dim newpath As String
    
    newpath = "V:\abc\def.xls"
    'kein Laufwerk 'V'
    Debug.Print "'" & Dir(newpath, vbNormal) & "'"
    
    newpath = "V::\abc\def.xls"
    '::
    Debug.Print "'" & Dir(newpath, vbNormal) & "'"
    
    newpath = "V:\/abc\def.xls"
    '\/
    Debug.Print "'" & Dir(newpath, vbNormal) & "'"
    
    newpath = "V:{abc\def.xls"
    '{
    Debug.Print "'" & Dir(newpath, vbNormal) & "'"
End Sub
Gruß von Luschi
aus klein-Paris

PS: oder arbeitest Du auf 1em Apple-PC?


 

Beiträge aus den Excel-Beispielen zum Thema "Laufzeitfehler 1004 mit Array"