| 
    
     |  | ▼会社員 さん: 
 >上記.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
 
 
 |  |