Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Import von .ASC Dateien

VBA Import von .ASC Dateien
23.03.2005 09:27:37
.ASC
Hallo,
ich habe folgendes Problem:
In einer Arbeitsmappe liste ich mir die in Frage kommenden Dateien auf einem Arbeitsblatt in den Zellen B2-B10 auf. Daraus kann ich den kompletten Pfad zur zu importierenden Datei auslesen und in VBA verwenden. Mit folgendem Code soll dann jeweils ein neues Arbeitsblatt eingefügt und die Datei importiert werden:
***Code Anfang***
Option Explicit
Public file_fullname As String
Public file_name As String
Public file_path As String
Public s_name As String
Public sname As String

Sub file_check()
Dim a As Byte
Dim i As Byte
Dim ri As Byte
Worksheets("files").Activate
file_path = Range("a1").Text
a = Selection.Count
For i = 1 To a
ri = i + 1
file_name = Sheets("files").Range("B" & ri).Text
sname = Mid(file_name, 53, 10)
s_name = Right(sname, 4) & Mid(sname, 3, 3) & "-" & Left(sname, 2)
Debug.Print s_name
file_fullname = file_path & file_name & ".asc"
Debug.Print file_fullname
'Workbooks.Open file_fullname
Sheets.Add after:=Sheets(Sheets.Count), Type:=xlWorksheet
ActiveSheet.Name = s_name
Call file_import
Next i
End Sub


Sub file_import()
With ActiveSheet.QueryTables.Add(Connection:="TEXT;file_fullname" _
, Destination:=Range("A1"))
.Name = "file_name"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 932
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = True
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Cells.Select
Selection.ColumnWidth = 11
Range("A1").Select
End Sub

***Code Ende***
Das Problem ist, dass er jedesmal zwar ein einziges neues Blatt mit dem richtigen Namen anlegt, aber den Import abbricht mit der Meldung:
Laufzeitfehler '1004':
Excel kann die Textdatei für die Aktualisierung des externen Datenbereichs nicht finden.
Vergewissern Sie sich, dass die Textdatei nicht verschoben oder umbenannt wurde.
Wiederholen Sie anschließend die Aktualisierung.
Sobald ich den Pfad direkt in den Code eingebe, ohne Verweis auf eine Variable, geht es. Weiter nicht.
Wer kann mir hier helfen?
Gruß, Manfred.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Import von .ASC Dateien
23.03.2005 10:30:30
.ASC
Hallo Manfred,
versuch es mal so:
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & file_fullname & """" _
, Destination:=Range("A1"))
Viel Erfolg
Frank.
AW: VBA Import von .ASC Dateien
23.03.2005 10:43:14
.ASC
Hallo,
ich habe das nach deinem Vorschlag geändert. Nun kommt folgende Fehlermeldung:
Laufzeitfehler '1004':
Auf die Datei konnte nicht zugegriffen werden. Versuchen Sie die folgenden
Lösungsvorschläge:
• Überprüfen Sie, ob der angegebene Ordner existiert.
• Stellen Sie sicher, dass der Ordner, in dem sich die Datei befindet, nicht
schreibgeschützt ist.
• Vergewissern Sie sich, dass der Dateiname keines der folgenden Zeichen enthält:
? [ ] : | oder *
• Der Dateiname darf nicht länger sein als 218 Zeichen.
Ich habe dann einmal über Workbooks.open probiert, ob meine Variable überhaupt die richtige Datei öffnet, und das klappt. Warum nicht der Import?!?!?!?
mfg
Manfred.
Anzeige
AW: VBA Import von .ASC Dateien
23.03.2005 14:19:50
.ASC
Hallo Manfred,
ich hatte den Code nicht getestet sondern nur gesehen, dass Du die Variable im String verpackt hattest. Damit man Dein Problem nachstellen kann, kopiere doch mal 3 Zeilen Deiner Accii Datei in den Thread!
Gruß
Frank.
AW: VBA Import von .ASC Dateien
23.03.2005 14:27:24
.ASC
Hallo Manfred,
so müsste es klappen:
Dim ws As Worksheet
Set ws = ActiveSheet
With ws.QueryTables.Add(Connection:="TEXT;" & file_fullname & """", _
Destination:=ws.Cells(1, 1))
' ....
End With
Viel Erfolg
Frank.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige