|
用VBA导入有分隔符的文本文件,文件如下:
名字|年龄|152|AAA|呵呵|286879|
他们|17|152|bbb|呵呵|56456|A
分隔符为“|”
脚本如下:
Sub 导入文件()
'声明字符串变量用于获取每一次从文件中读取的字符
Dim ResultOut As String
Dim arrTemp As String
'获取文件名
Dim FileName As String
Dim MyRow As Integer
Dim MyColumn As Integer
MyRow = 1
MyColumn = 1
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'判断用户在对话框中的输入是否有效
If fd.Show = -1 Then
FileName = fd.SelectedItems(1)
filenum = FreeFile()
Open FileName For Input As #filenum
'从文件中循环读出由逗号分开的数据,并写入单元格
While Not EOF(filenum)
Line Input #filenum, ResultOut
MsgBox ResultOut
arrTemp = Split(ResultOut, "|")
'MsgBox arrTemp
'如果读出的字符串不为空则输入到当前行工作表单元格
If ResultOut <> "" Then
ActiveSheet.Cells(MyRow, MyColumn).Value = _
arrTemp
MyColumn = MyColumn + 1
'如果读出的字符串为空则转到工作表的下一行
Else
MyRow = MyRow + 1
MyColumn = 1
End If
Wend
'关闭文件
Close #filenum
MsgBox ("文件导入成功!")
End If
esc:
End Sub
红色字部分就出错了,
另外,读出来的文本也是乱码,请大侠不吝赐教。
|
|