VBA-Arbeitsmappe Öffnen von Makro schlägt fehl “(Pfad & Dateiname) konnte nicht gefunden werden. Überprüfen Sie die Schreibweise..."
Ich habe folgenden code, der sollte sich einfach öffnen Sie eine Arbeitsmappe aus einem master-Arbeitsmappe, mir zu erlauben, fügen Sie einige Informationen, die ich später abrufen aus einer Datenbank. Ich erhalte die Fehlermeldung in den Titel jedes mal ich versuchen, eine Arbeitsmappe öffnen. Benutzt habe ich einen ähnlichen code wie vor mit kein problem überhaupt. Die Dateien sind auf einem server vorhalten Weg von meinem desktop, aber der Pfad wurde richtig jedes mal. Ich habe immer und immer wieder. Was könnte die Ursache sein?
Sub copyDealerDataToWorkbook(ByVal targetID As Integer)
Dim mainWB As Workbook
Dim directory As String
Dim fn As String
Dim aFile As Excel.Application
Set aFile = CreateObject("Excel.Application")
Set mainWB = ActiveWorkbook
directory = ActiveWorkbook.Path
'append a "\"
If InStrRev(directory, "\") < Len(directory) Then
directory = directory & "\"
End If
fn = targetID & ".xls"
aFile.Application.Visible = True
aFile.Workbooks.Open directory & fn 'ERROR ON THIS LINE
aFile.Parent.Windows(1).Visible = True
End Sub
Habe ich auch versucht den folgenden code...
Sub copyDealerDataToWorkbook(ByVal targetID As Integer)
Dim foreignWB As Workbook
Dim mainWB As Workbook
Dim directory As String
Dim fn As String
Set mainWB = ActiveWorkbook
directory = ActiveWorkbook.Path
'append a "\"
If InStrRev(directory, "\") < Len(directory) Then
directory = directory & "\"
End If
fn = targetID & ".xls"
Set foreignWB = Workbooks.Open(fileName:=directory & fn) 'ERROR ON THIS LINE
End Sub
- Zuerst, du meinst die <br /> in der Variablen-Deklarationen? Zweitens, können Sie mir sagen, was Ihr Verzeichnis string zurückgibt?
- Natürlich nicht... Entschuldigung für den ersten post. directory string returs "\\Oesdfiles\Users\FName LName\Berichte\test_data\monatliche EDS-reports\Anzahl Händler Pro Importeur\test_2011\2011-01January" kann ich auch "Anwendung ausführen".FileSearch und finden Sie die Datei mit Verzeichnis-und Dateinamen-Kombination... also ich bin echt ratlos.
- Welche version von Excel verwendest du? Sind Sie sicher, dass die extension ist ".xls" ?
- Ist das nicht bezogen auf eine volle name Länge > 255 ?
- Hmm... Gute Frage, aber der Pfad zum Verzeichnis ist nur 123 chars lang, so dass der name der Datei müsste 132 chars lange... unwahrscheinlich.
- Nur eine Bemerkung:
aFile
ist schon einApplication
Objekt, soaFile.Visible
ist die gleiche wieaFile.Application.Visible
ist die gleiche wieaFile.Application.Application.Application.Application.Visible
... so könnte genauso gut-stick auf die kurze version:aFile.Visible = True
. Nur zu sagen! Auch, da Sie die frühe Bindung verwenden, sollten Sie wahrscheinlich halten Sie sich notation und schreibenSet aFile = New Excel.Application
stattCreateObject
. - Haben Sie versucht, Druck
directory & fn
um sicherzustellen, dass die ` Hinzugefügt wird, richtig?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ersten harten code mit dem Namen der Datei und testen, ob geöffnet ist.
Zur Probe
Wenn ja, Ihr Verzeichnis oder fn var ist falsch.
Wenn Nein, versuchen Sie verwenden office-Diagnose office-Schaltfläche/excel-Optionen/Ressourcen/Diagnose -
Und versuchen Sie es erneut.
Wenn Sie nicht arbeiten , werden Ihre excel muss neu installieren.
[]'s
Funktioniert dies nur, wenn Ihre Excel-Arbeitsmappe hat einen numerischen Dateinamen ohne führende Nullen. Auch In diesem Kontext gibt es keine Notwendigkeit, um targetID eine ganze Zahl, da Sie sich nicht verändern oder ausführen von Berechnungen auf den Wert, den ich es machen würde, statt:
Edit: ich habe gerade realisiert, dies wurde gebucht vor 2 Jahren. 😛