感谢各位!
自己已经慢慢琢磨出来了
Sub get()
Dim rLine$, s$, flag$, rLine_Arr
Dim d
Set d = CreateObject("Scripting.Dictionary")
Open Application.GetOpenFilename For Input As #1
Do While Not EOF(1)
Line Input #1, rLine
rLine_Arr = Split(rLine, Chr(10))
Loop
Close #1
For i = 0 To UBound(rLine_Arr)
s = rLine_Arr(i)
If InStr(s, "Index") Then
flag = "Index"
ElseIf InStr(s, "Information") Then
flag = "Information"
ElseIf InStr(s, "Time") Then
flag = "Time"
ElseIf InStr(s, "CycleTime") Then
flag = "Cycletime"
ElseIf InStr(s, "Count") Then
flag = "Count"
ElseIf InStr(s, "Dispenser") Then
flag = "Dispenser"
ElseIf InStr(s, "MountPickupFeeder") Then
flag = "MountPickupFeeder"
ElseIf InStr(s, "MountPickupNozzle") Then
flag = "MountPickupNozzle"
ElseIf InStr(s, "InspectionData") Then
flag = "InspectionData"
ElseIf InStr(s, " ") Then
flag = 0
Else
End If
If flag = "Index" And InStr(s, "[") = 0 And s <> "" Then
d(Mid(s, 1, InStr(s, "=") - 1)) = Mid(s, InStr(s, "=") + 1, Len(s))
ElseIf flag = "Information" And InStr(s, "[") = 0 And s <> "" Then
d(Mid(s, 1, InStr(s, "=") - 1)) = Mid(s, InStr(s, "=") + 1, Len(s))
ElseIf flag = "Time" And InStr(s, "[") = 0 And s <> "" Then
d(Mid(s, 1, InStr(s, "=") - 1) & "_T") = Mid(s, InStr(s, "=") + 1, Len(s))
ElseIf flag = "CycleTime" And InStr(s, "[") = 0 And s <> "" Then
d(Mid(s, 1, InStr(s, "=") - 1)) = Mid(s, InStr(s, "=") + 1, Len(s))
ElseIf flag = "Count" And InStr(s, "[") = 0 And s <> "" Then
d(Mid(s, 1, InStr(s, "=") - 1) & "_C") = Mid(s, InStr(s, "=") + 1, Len(s))
End If
Next
[A1].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.Items))
Set d = Nothing
End Sub
|