如何从带有行分隔符的文本文件中读取整行?

时间:2011-05-20 09:17:34

标签: vba access-vba

我有带行的文本文件,可以有多个行分隔符。如何使用VBA将这个大行分成几行? 我需要导入这个文件。我这样做(9月是字段分隔符):

Open FName For Input Access Read As #1

While Not EOF(1)
   Line Input #1, WholeLine
   If Right(WholeLine, 1) <> Sep Then
       WholeLine = WholeLine & Sep
   End If

   StrArray = Split(WholeLine, Sep)
Wend

或者您可以建议我使用字段和行分隔符从txt文件导入数据的另一种方法吗?

1 个答案:

答案 0 :(得分:0)

你的问题中有很多东西需要澄清,但也许这会帮助你朝着正确的方向前进。我假设你把它附加到一张桌子上。 您必须为您的方案更改以下内容:  1. ImportTableName  2. FieldName  3. FileName  s sDelimiter - 可能也是这样。 也不要忘记添加一些错误处理。如果您在未关闭文件的情况下退出,它将保持锁定状态,并将影响您重试导入的尝试。

Const sDelimiter As String = " sep "
Dim rsImport As ADODB.Recordset
Dim vShortLine As Variant
Dim arrLongLine As Variant
Dim sLongLine As String
Set rsImport = New ADODB.Recordset
With rsImport
    .Open ImportTableName, CurrentProject.Connection, adOpenStatic, adLockOptimistic
    Open FileName For Input As #1    ' Open file.
    While Not EOF(1)
        Line Input #1, sLongLine
        arrLongLine = Split(sLongLine, sDelimiter)
        For Each vShortLine In arrLongLine
            .AddNew
            !FieldName = vShortLine
        Next
    Wend
    Close #1    ' Close file.
    .UpdateBatch
    .Close
End With
Set rsImport = Nothing