|
本帖最后由 leikaiyi123 于 2018-1-23 08:39 编辑
这个不知是否适合你:
Sub 选择打开txt读入数据() '选择文件
Dim i As Integer
Dim MyDialog As FileDialog, vrtSelectdeItem As Variant, Doc As Document
On Error Resume Next
'定义一个文件选取对话框
'Application.ScreenUpdating = False
Set MyDialog = Application.FileDialog(msoFileDialogFilePicker)
With MyDialog
.Filters.Clear '清除所有文件筛选器中的项目
.Filters.Add "所有 txt 文件", "*.txt", 1 '增加筛选器的项目为所有txt文件
.AllowMultiSelect = True '允许多项选择,若为false则一次只能选一个txt文件
If .Show = -1 Then
For Each vrtselecteditem In .SelectedItems '在所有选取文件中循环
Open vrtselecteditem For Input As #1 '逐一打开选择的txt文件
arr1 = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf): Reset '将txt文件中的每一行读入数组arr1中
Close #1
For i = 0 To UBound(arr1)
'Debug.Print arr1(i) '显示数组中的每一个元素,根据需要处理你的数据即可
Selection.TypeText Text:=arr1(i) & Chr(13)
Next i
'////////////////////////////////////////
Next vrtselecteditem
End If
End With
'Application.ScreenUpdating = True
End Sub
|
|