用VBA实现网页内容统计填表的方法

也网上玩了很久了,一直是学习或者查看大佬们的编辑程序或者的编辑方法,今天自己动手来实现自己的自力更生,解决自己在生活或者工作中遇到的问题,借助网络和AI实现自己的需要的VB程序。
下面是整个过程,记录下来,便于后期查看,也为学习做好笔记。

一、程序需求:

告诉AI我的需求情况:“帮我编制一个excel的VB程序,要求:VBA操作网页读取指定的文字,统计的相关数据自动填入EXCEL表中”发给AI,让她帮我实现程序的比较和修改。

二、整个人机交流过程:

☆ 第一次交流:

当然可以!下面帮你设计一个简单的Excel VBA宏,能够:

  • 打开一个网页
  • 读取指定的网页内容(比如指定标签里的文字)
  • 把统计结果自动写入Excel表格

基础说明

  1. VBA操作网页主要通过InternetExplorer对象(IE控件),但注意现代IE已不推荐,很多新网站或win10以上系统可能用不了,有时可以考虑MSXML2.XMLHTTP(只获取源码,不执行JS)。
  2. 本例用IE控件方法示范,可改为XMLHTTP方式。
  3. 假设你需要统计某网页内所有<span class="target">xxx</span>标签的文字出现次数。

步骤一:添加引用

在VBA编辑器中,点击【工具】-【引用】,勾选:

  • Microsoft Internet Controls
  • Microsoft HTML Object Library

步骤二:VBA示例代码

Sub 网页内容统计并写入表格()

    Dim IE As Object
    Dim HTMLDoc As Object
    Dim Element As Object
    Dim url As String
    Dim keyword As String
    Dim count As Integer
    Dim rowNum As Integer
    
    url = "https://你的目标网页.com" '请换成目标网页地址
    keyword = "你要查找的文字"         '请换成要查找的内容
    count = 0
    rowNum = 2  ' Excel从第2行开始写入,默认第1行为表头
    
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = False
    IE.navigate url

    Do While IE.Busy Or IE.readyState <> 4
        DoEvents
    Loop

    Set HTMLDoc = IE.document
    
    '----- 假设寻找所有<span class="target">标签,并读取其.innerText -----
    For Each Element In HTMLDoc.getElementsByTagName("span")
        If Element.className = "target" Then
            ' 如果内容包含关键字
            If InStr(Element.innerText, keyword) > 0 Then
                count = count + 1
                ' 写入Excel
                ThisWorkbook.Sheets(1).Cells(rowNum, 1).Value = Element.innerText
                rowNum = rowNum + 1
            End If
        End If
    Next
    
    ' 在A1写入表头
    ThisWorkbook.Sheets(1).Cells(1, 1).Value = "包含关键字的文字"
    ThisWorkbook.Sheets(1).Cells(1, 2).Value = "总次数"
    ThisWorkbook.Sheets(1).Cells(2, 2).Value = count
    
    IE.Quit
    Set IE = Nothing
    Set HTMLDoc = Nothing
    MsgBox "统计完毕,数据已填入!", vbInformation

End Sub


使用方法

  1. 打开Excel,按Alt+F11进VBA编辑界面。
  2. 插入一个新模块,把上面代码粘贴进去。
  3. 修改urlkeyword变量为你的实际需求。
  4. 关闭VBA窗口回Excel,按Alt+F8运行此宏。

拓展建议

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山峰哥

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值