动态数组问题
程序源码如下
Option Explicit
Private Sub Command1_Click()
Dim Web As Object
Dim Arr(), Brr() As String
Dim a, i As Integer
For Each Web In WebBrowser1.Document.All
If UCase(Web.tagName) = "A" Then
ReDim Preserve Arr(a)
Arr(a) = Web.href
a = a + 1
End If
Next Web
For i = 0 To a - 1
Debug.Print Arr(i)
Next i
End Sub
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.baidu.com/s?wd=123"
End Sub
通过打印结果发现数组有不少重复的,请问如果在添加的时候做个筛选,如果发现数组中有想同的就不添加
[解决办法]
其实用links直接就可以得到链接的集合。
Option ExplicitPrivate Sub Command1_Click() Dim lnk As Object Dim Arr() As String Dim a As Integer, s$ For Each lnk In WebBrowser1.Document.links If InStr(s, lnk.href & vbCrLf) = 0 Then ReDim Preserve Arr(a) Arr(a) = lnk.href a = a + 1 s = s & lnk.href & vbCrLf End If Next For a = 0 To UBound(Arr) Debug.Print Arr(a) NextEnd SubPrivate Sub Form_Load() WebBrowser1.Navigate "http://www.baidu.com/s?wd=123"End Sub