|
- Sub 导入()
- Dim f As Integer
- Dim arr(1 To 10000, 1 To 1)
- f = FreeFile
- mypath = ThisWorkbook.Path
- Open mypath & "\列表.txt" For Input As #f
- Do While Not EOF(f) '读“列表”入数组arr
- n = n + 1
- Line Input #f, arr(n, 1)
- Loop
- Close #f
-
- ReDim brr(1 To n, 1 To 9) '按每组数据取前三行,9列输出
- For i = 1 To UBound(arr) - 3
- a = arr(i, 1): b = arr(i + 1, 1)
- If Len(a) = 1 And Len(b) > 1 Then '判断每一组数据的起始位置
- m = m + 1
- If InStr(b, "(") > 0 Then c = Split(b, "(")(1): brr(m, 1) = Left(c, Len(c) - 1) '版本号
- brr(m, 3) = b '产品名称
- brr(m, 5) = arr(i + 2, 1) '文件大小
- brr(m, 9) = arr(i + 3, 1) '描述
- i = i + 3
- End If
- Next
-
-
- Set d = CreateObject("scripting.dictionary")
- Dim crr(1 To 10000, 1 To 2)
- Open mypath & "\地址.txt" For Input As #f
- n = 0
- Do While Not EOF(f) '读入“地址”入数组crr
- Line Input #f, a
- aa = LCase(a)
- If InStr(aa, "http") > 0 And InStr(aa, ".exe") > 0 Then
- a1 = InStr(aa, "http"): a2 = InStr(aa, ".exe")
- If a2 > a1 Then a = Mid(a, a1, a2 + 3 - a1 + 1) '下载地址:http:\\。。。。。.exe
- br = Split(a, "/"): b = br(UBound(br))
- b = Split(b, "_")(0) & ".exe" '文件名称:。。。。。.exe
- If Not d.exists(b) Then
- n = n + 1
- crr(n, 1) = b '文件名称
- crr(n, 2) = a '下载地址
- d(b) = ""
- End If
- End If
- Loop
- Close #f
-
-
- For i = 1 To m
- bbh = LCase(Trim(brr(i, 1))) '版本号
- If Len(bbh) > 0 Then
- For j = 1 To n
- wjmc = LCase(crr(j, 1)) '文件名称
- If InStr(wjmc, bbh) > 0 Then '文件名称中含有版本号的筛选出来
- brr(i, 2) = wjmc '文件名称
- brr(i, 4) = crr(j, 2) '下载地址
- End If
- Next
- End If
- Next
-
- Rows("4:10000").ClearContents
- [b4].Resize(m, 9) = brr '数据输出
- End Sub
复制代码 |
|