フラットファイルを改行を入れながら取り込むには?

Question 71.5 Excel VBA Borad (掲示板)より Previous Next
こんにちは。皆様の智恵を頂きたくお願いします。
現在Excel VBAにてフラットファイルを取り込もうとしてます。 取り込むファイルの形式が改行が入っていない一行の文字列 (何万文字もある) で、これを200文字 (バイト) づつ改行を入れながら取り込んでいきたいのです。
どうぞ、宜しくお願いします。      (注)フラットファイル : CSVファイルや固定長ファイル
Answer   2004.11.30 もてもて
こんな感じ? もっと単純な方法があるのかもしれませんが・・・。
Sub test()
Dim openFile As Variant
Dim i As Long, j As Integer, FFile As Integer
Dim myStr As String
Dim myArray
Const myNum = 200 '1行の文字数

    openFile = Application.GetOpenFilename
    If openFile = False Then Exit Sub
    FFile = FreeFile
    Open openFile For Input As #FFile
    ReDim myArray(Rows.Count, 1)
    i = 1
    Do While Not EOF(FFile)
        myStr = ""
        For j = 1 To myNum
            If EOF(FFile) Then Exit For
            myStr = myStr + Input(1, #FFile)
        Next j
        myArray(i - 1, 0) = myStr
        i = i + 1
        If i > Rows.Count Then Exit Do
    Loop
    Range(Cells(1, 1), Cells(i - 1, 1)).Value = myArray
    Close #FFile
    Erase myArray
End Sub
ありがとうございました
ご返答ありがとうございます。 この方法で実行を行ったらできました。
しかし、3MBのテキストファイルで実行しようとすると、やはり長時間実行してしまいますよねぇ。 これは一文字ずつ扱うからしょうがないんですよね。
ありがとうございました。

 

Excel VBA Macro