2016-09-18 13 views
0

複数のtxtファイル(1000個近いファイル)があり、Excelにインポートしたい。私はテキストのインポートウィザードを使用して固定幅を選択した、私の質問は、毎回調整する必要はない各ファイルの同じ形式を使用する方法です。自動的に列を分割する方法は?

これは、例えばリンクです:http://www.fhwa.dot.gov/bridge/nbi/1992/AL92.txt

これはレコード形式である:あなたの時間の少しを保存するにはhttp://www.fhwa.dot.gov/bridge/nbi/format.cfm

+1

あなたはVBA 'Range.Parse'方法、または' Workbooks.OpenText'方法のいずれかを使用し、適切に*のFieldInfo *を定義することができます。コードに問題がある場合は、コードを書き戻し、問題の説明を書き留めてください。 –

+1

また、 'QueryTables.Add'メソッドを使うこともできます。いずれにせよ、あなたが望むことをしている間にマクロを記録し、それを掃除してください。 –

答えて

0

私は、クエリテーブルのために(上記のリンク形式のWebページから)の配列を用意し/ @ RonRosenfeldのアドバイスに基づいてあなたのためにインポートし、すぐにテキストファイルのインポートを行った(私が記録した)。 コメントには大きすぎるため、ここに貼り付ける必要があります。 もちろん、それに合わせて編集する必要があります。

With ActiveSheet.QueryTables.Add(Connection:="TEXT;C:\AL92.txt", Destination:=Range("$A$1")) 
    .RefreshOnFileOpen = False 
    .RefreshStyle = xlInsertDeleteCells 
    .RefreshPeriod = 0 
    .TextFilePromptOnRefresh = False 
    .TextFilePlatform = 850 
    .TextFileStartRow = 1 
    .TextFileParseType = xlFixedWidth 
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) 
    .TextFileFixedColumnWidths = Array(3, 15, 1, 1, 1, 5, 1, 2, 3, 5, 24, 1, 18, 25, 4, 7, 1, 10, 2, 8, 9, 3, 1, 2, 2, 2, 4, 2, 2, 6, 4, 1, 4, 1, 2, 1, 1, 1, 1, 1, 1, 1, 4, 5, 1, 1, 1, 1, 2, 1, 2, 3, 4, 3, 5, 6, 3, 3, 4, 4, 4, 1, 4, 1, 3, 3, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 2, 1, 6, 4, 2, 3, 3, 3, 4, 4, 4, 6, 6, 6, 4, 3, 2, 15, 1, 1, 1, 1, 1, 1, 4, 1, 1, 1, 1, 2, 1, 1, 1, 1, 6, 4, 4) 
    .TextFileTrailingMinusNumbers = True 
    .Refresh BackgroundQuery:=False 
End With 
+0

ありがとうございますが、何が間違っているかを知りたいのですが(.Refresh BackgroundQuery:= False) – Jeffrey

+0

その行にエラーが表示された場合は、BackgroundQuery:= Falseを取り除いてみてください。 私はもう両方で再度テストしましたが、それは昨日と同じように機能しました。 –

関連する問題