隨著數據處理需求的不斷增加,Excel 工具在日常生活中的使用率也越來越高。本文將介紹通過 VBA 在 Excel 中定時獲取 JSON 數據的方法,方便用戶實現自動化的數據爬取和處理。
首先,需要在 Excel 工具中啟用開發工具,在“選項”中選擇“自定義功能區”并勾選“開發工具”選項卡,即可看到開發工具欄。在其中選擇“Visual Basic”,打開 Visual Basic 編輯器。
Sub GetJsonData() '聲明變量 Dim xhr As New XMLHttpRequest Dim url As String Dim jsonStr As String Dim i As Integer '設置請求地址 url = "https://api.example.com/data.json" '發送請求 xhr.Open "GET", url, False xhr.send '獲取返回的 JSON 數據 jsonStr = xhr.responseText '解析 JSON 數據 Dim parser As New JSONLib '解析 JSON 字符串 Dim dict As Dictionary Set dict = parser.Parse(jsonStr) '將數據寫入 Excel 選定的單元格中 i = 1 For Each key In dict.Keys Range("A" & i).Value = key Range("B" & i).Value = dict(key) i = i + 1 Next key End Sub
上述代碼通過 VBA 構建 XMLHttpRequest 對象,以 GET 方法向指定 URL 發送請求,并將返回的 JSON 數據保存為字符串類型。接著通過 JSONLib 庫解析 JSON 字符串,并將解析得到的鍵值對數據寫入 Excel 指定的單元格中。
為方便地定時執行 VBA 宏,可將其保存在單獨的模塊中,并通過設置 Windows 任務計劃程序每隔一定時間自動運行。在“任務計劃程序”中新建任務后,在“操作”標簽頁中設置“啟動程序”項為指向 Excel 工具所在路徑,并在“參數”中加上打開的 Excel 文件名和宏的名稱。在“觸發器”標簽頁中設置定時執行的時間間隔。
通過上述步驟,在保持 Excel 工具打開狀態下即可實現自動化的 JSON 數據獲取和處理,從而提高工作效率。