|
▼会社員 さん:
>上記.txtファイルはLF改行により2レコード存在しているのですが、
>1レコード目は正しくVBScriptでデータを取得できるのですが2レコード目が取得されず次のようなダイアログが出てしまいます。
>「.txt」ファイルの中身は以下のようになっています。
>20090705000000,12345678901234,,,,,・・・[LF改行]
>20090705000000,12345678901234,,,,,・・・[LF改行]
>[EOF]
>エラーとなるソースを以下に示します。
>Workbooks.OpenText Filename:=(txtファイル) _
> , Origin:=932, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
> xlNone, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=False, Comma _
> :=True, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 2), Array(2, _
> 2), Array(3, 2), Array(4, 2), Array(5, 2), Array(6, 2), Array(7, 2), Array(8, 2), Array(9, 2) _
ということは、どの列もすべて「文字列」として読めばいいのですか?
試しに、基本的に会社員さんと同じですが、下のコードをお試しください。
◆元のCSVファイルの複製を作成してそれをプログラムから
開きます。
◆元のファイルは閉じておいてください。
Sub Try2_OpenText()
Dim myFile
Dim myText As String
Dim FieldInfo(1 To 256)
Dim i As Long
myFile = Application.GetOpenFilename("CSVファイル,*.csv")
If myFile = False Then Exit Sub
myText = Replace(LCase$(myFile), ".csv", ".txt")
FileCopy myFile, myText
For i = 1 To 256
FieldInfo(i) = Array(i, 2)
Next
Workbooks.OpenText myText, Origin:=932, _
TextQualifier:=xlDoubleQuote, _
Tab:=False, Semicolon:=False, Comma:=True, _
Space:=False, Other:=False, _
FieldInfo:=FieldInfo
End Sub
|
|