我有带行的文本文件,可以有多个行分隔符。如何使用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文件导入数据的另一种方法吗?
答案 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