複数のファイル終了フラグを持つファイルを読み取る

複数のファイル終了フラグを持つファイルを読み取る

サーバー更新からエクスポートされたパイプ区切りファイルがあります。レコード数は約 1 億 3,400 万件です。他のプログラム (SAS など) にデータを読み込む前に、Excel を使用して少数のレコード (1,000 ~ 10,000) をインポートし、データを調べて問題を探します。

ファイルのレコード 6200 付近に問題がありますが、Excel は最初の 3,200 レコードしか読み取れないため、ファイルを読み取ることができません。ファイルには複数のファイル終了マークがあることがわかりました (ファイルは Linux からのもので、Windows はファイル終了を示す 16 進コード 1A を検出します)。この問題を回避する方法をご存知の方はいらっしゃいますか。現在のコードは次のとおりです。

Sub Test()
file = "c:\user\myfile"
Open file For Input As #1
For i = 1 To 10000
    Line Input #1, dat
    Cells(i, 1) = dat
Next i

Close #1
End Sub

答え1

ファイル内の値を検索して置換してみてください:

Dim CellContent as String
Dim NewCellContent as String
CellContent = 'the line you're bringing in
NewCellContent = (Worksheetfunction.Substitute([your line], chr(26),vbnullstring))

Do Until CellContent = NewCellContent

    CellContent = NewCellContent
    NewCellContent = Worksheetfunction.Substitute(NewCellContent,chr(26),vbnullstring)

Loop

または、正規表現を使用することもできます。

関連情報