|
Sub test()
Dim r%, i%
Dim arr, brr
Dim ws As Worksheet
Dim mypath$, myname$
Dim reg As New RegExp
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With reg
.Global = True
.Pattern = "\s+"
End With
mypath = "E:\文档" & "\"
myname = Dir(mypath & "*.txt")
Do While myname <> ""
wjm = Split(myname, ".")(0)
Open mypath & myname For Input As #1
arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
Close #1
ReDim brr(1 To UBound(arr), 1 To 3)
For i = 1 To UBound(arr)
ss = reg.Replace(arr(i), " ")
crr = Split(ss, " ")
If UBound(crr) >= 2 Then
For j = 0 To 2
brr(i, j + 1) = crr(j)
Next
End If
Next
On Error Resume Next
Set ws = Worksheets(wjm)
If Err Then
Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
ws.Name = wjm
End If
With Worksheets(wjm)
.Range("a1").Resize(UBound(brr), UBound(brr, 2)) = brr
End With
myname = Dir()
Loop
End Sub
这里面的
Set ws = Worksheets(wjm)
If Err Then
Set ws = Worksheets.Add(after:=Worksheets(Worksheets.Count))
ws.Name = wjm
End If
if err then 是什么意思?是如果错误就增加worksheets吗?可是明显说不通啊。
|
|