You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:开发每日抓取美国国债收益率曲线数据的VBA宏

美国国债收益率曲线数据自动抓取VBA解决方案

以下是可自动从指定URL抓取每日国债收益率表格数据的VBA代码,同时会解释关键的HTML元素定位逻辑,帮你理解网页结构的处理方式:

完整VBA代码

Sub 抓取国债收益率数据()
    Dim IE As Object
    Dim doc As Object
    Dim table As Object
    Dim row As Object
    Dim cell As Object
    Dim i As Integer, j As Integer
    
    ' 初始化IE对象
    Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = False ' 后台运行,隐藏浏览器窗口
    
    ' 打开目标URL
    IE.Navigate "https://home.treasury.gov/resource-center/data-chart-center/interest-rates/TextView?type=daily_treasury_yield_curve&field_tdr_date_value_month=202212"
    
    ' 等待页面完全加载
    Do While IE.Busy Or IE.ReadyState <> 4
        DoEvents
    Loop
    
    ' 获取HTML文档对象
    Set doc = IE.Document
    
    ' 定位目标表格:页面内的收益率表格带有class属性"views-table",直接通过该类名定位
    Set table = doc.getElementsByClassName("views-table")(0) ' 取第一个匹配的表格
    
    ' 清空当前工作表原有数据
    ThisWorkbook.ActiveSheet.Cells.Clear
    
    ' 遍历表格行与单元格,写入Excel
    i = 1
    For Each row In table.Rows
        j = 1
        For Each cell In row.Cells
            ThisWorkbook.ActiveSheet.Cells(i, j).Value = cell.innerText
            j = j + 1
        Next cell
        i = i + 1
    Next row
    
    ' 释放资源并关闭IE
    IE.Quit
    Set IE = Nothing
    Set doc = Nothing
    Set table = Nothing
    
    MsgBox "数据抓取完成!"
End Sub

关键逻辑说明

  • HTML元素定位:目标页面的收益率表格使用了views-table类名,通过getElementsByClassName方法可直接定位到表格,避免了复杂的标签层级定位。
  • 页面加载等待:Do While IE.Busy Or IE.ReadyState <> 4确保页面完全加载后再执行后续操作,防止因加载未完成导致的元素找不到问题。
  • 数据写入:遍历表格的每一行和单元格,将innerText(单元格文本内容)写入Excel工作表。

每日自动运行设置

要实现每日自动拉取,可通过Windows任务计划程序配合Excel宏完成:

  1. 将包含该宏的文件保存为启用宏的工作簿(.xlsm)。
  2. 打开Windows任务计划程序,创建新任务,设置每日触发时间。
  3. 操作选项中选择启动程序,程序路径选Excel安装路径(如C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE),添加参数为/e "你的文件完整路径"。
  4. 在Excel的ThisWorkbook对象中添加以下代码,实现打开文件时自动执行宏:
Private Sub Workbook_Open()
    Call 抓取国债收益率数据
End Sub

注意:运行前需确保Excel启用宏,且Internet Explorer组件可用;若偏好Edge/Chrome内核,可改用Selenium工具,但原生IE方式更适配VBA环境。

内容的提问来源于stack exchange,提问作者Austin Eveland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 03:20:14