Option Explicit
''首先在工程中加入对Microsoft Internet Controls的引用
''指定浏览器对象的Document
Private mDocument As Object
Private Sub Command2_Click()
On Error Resume Next
DoEvents
mComGetIEWindows "zcsor的专栏" ''给初学者:VB如何操作WEB页的浏览提交———八:获取网页上的链接、图片指向地址"
If mDocument Is Nothing Then
MsgBox "未打开指定页"
Else
Dim mIndex As Long, mIndexEx As Long
For mIndex = 0 To mDocument.Forms.length - 1 ''输出每个FORM
Print mDocument.Forms(mIndex).Name
lstLinks.AddItem "输出连接"
For mIndexEx = 0 To mDocument.links.length - 1 ''输出连接
lstLinks.AddItem mDocument.links(mIndexEx)
Next
lstLinks.AddItem "图片地址"
For mIndexEx = 0 To mDocument.images.length - 1 ''输出图片
lstLinks.AddItem mDocument.images(mIndexEx).src ''图片地址
Next
Next
Text1.Text = mDocument.documentElement.innerHTML
End If
End Sub
''参数为网页标题
Private Sub mComGetIEWindows(ByVal IETitle As String)
''浏览器对象集合(包含IE也包含资源管理器)
Dim mShellWindow As New SHDocVw.ShellWindows
''循环变量
Dim mIndex As Long
''从第一个浏览器对象循环到最后一个
For mIndex = 0 To mShellWindow.Count - 1
If VBA.TypeName(mShellWindow.Item(mIndex).Document) = "HTMLDocument" Then ''如果是IE窗口而不是资源管理器
If mShellWindow.Item(mIndex).Document.Title = IETitle Then ''如果是指定窗口(用窗口标题判断的,其他也可以,例如URL)
Set mDocument = mShellWindow.Item(mIndex).Document ''锁定我们要的浏览器对象
Exit Sub
End If
End If
Next mIndex
End Sub