|
Option Explicit
Sub test()
Dim filename, i, j, arr, brr(), crr, cnt
filename = ThisWorkbook.Path & "\mk.txt"
If Dir(filename) = vbNullString Then MsgBox filename: Exit Sub
Open filename For Input As #1
arr = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbNewLine)
Close #1
ReDim brr(10 * UBound(arr))
crr = [a1].CurrentRegion
For i = 0 To UBound(arr)
If Len(arr(i)) = 0 Then Exit For
If arr(i) = "[TIP]" Then
For j = 2 To UBound(crr, 1)
cnt = cnt + 1
brr(cnt) = String(7 - Len(crr(j, 1)), "0") & crr(j, 1) & "=7"
Next
End If
cnt = cnt + 1: brr(cnt) = arr(i)
Next
If brr(cnt) <> "[TRD]" Then cnt = cnt + 1: brr(cnt) = "[TRD]"
For i = 2 To UBound(crr, 1)
cnt = cnt + 1
brr(cnt) = String(7 - Len(crr(i, 1)), "0") & crr(i, 1) & "=" & crr(i, 2)
Next
Dim dic, m
Set dic = CreateObject("scripting.dictionary")
For i = 1 To cnt
If Not dic.exists(brr(i)) Then
m = m + 1: brr(m) = brr(i)
dic(brr(i)) = i
End If
Next
ReDim Preserve brr(m)
arr = Mid(Join(brr, vbNewLine), 3)
Open filename For Output As #1
Print #1, arr
Close #1
End Sub |
评分
-
1
查看全部评分
-
|