|
- Sub test1()
- Dim ar(1 To 666, 1 To 3), br, cr, dict As Object
- Dim strPath As String, strFile As String, LOT As String
- Dim i As Long, j As Long, k As Variant
-
- Application.ScreenUpdating = False
-
- i = 1
- ar(i, 1) = "LOT"
- ar(i, 2) = "Vge"
- ar(i, 3) = "lcsc"
-
- Set dict = CreateObject("Scripting.Dictionary")
-
- strPath = ThisWorkbook.Path & "\"
- strFile = Dir(strPath & "*_SCA_HS.CSV")
- Do
- br = Split(strFile, "_")
- LOT = br(0) & "_" & br(1)
- If Not dict.Exists(LOT) Then
- dict.Add LOT, Array(strFile, Val(br(2)))
- Else
- cr = dict(LOT)
- If Val(br(2)) > cr(1) Then dict(LOT) = Array(strFile, Val(br(2)))
- End If
- strFile = Dir
- Loop While Len(strFile)
-
- For Each k In dict.Keys
- i = i + 1
- ar(i, 1) = k
- br = Split(ReadUTFText(strPath & dict(k)(0)), vbCrLf)
- For j = 0 To UBound(br)
- If Val(br(j)) > 1.2 Then
- cr = Split(br(j), vbTab)
- ar(i, 2) = cr(1)
- ar(i, 3) = cr(3)
- Exit For
- End If
- Next
- Next
-
- With Sheet2
- .Cells.ClearContents
- .Range("A1").Resize(i, UBound(ar, 2)) = ar
- End With
-
- Set dict = Nothing
- Application.ScreenUpdating = True
- Beep
- End Sub
- Function ReadUTFText(ByVal strFullName As String) As String
- With CreateObject("ADODB.Stream")
- .Type = 2
- .Mode = 3
- .Open
- .LoadFromFile strFullName
- .Charset = "UTF-8"
- .Position = 2
- ReadUTFText = .ReadText
- .Close
- End With
- End Function
复制代码
|
评分
-
1
查看全部评分
-
|