2017-06-05 36 views
0

我正在使用PowerPoint在VBA中編寫腳本。我試圖從RSS Feed中獲取以下行:<div>Highest Projected Forecast Available: 1.2 ft</div>在VBA中調用RSS提要並刪除某些數據

從那一行我需要提取「1.2」或任何值在該位置出現的值。我遇到的問題是它沒有像標準XML文件那樣格式化。它在每行的開頭沒有標籤,而是像上面示例行中的字符組合。這是RSS飼料正常嗎?點擊上面的鏈接查看我所指的是什麼。

任何想法如何能夠抓住該值並將其作爲變量存儲在PowerPoint中的VBA?任何幫助將非常感激。謝謝!

回答

1

嗨請檢查下面的代碼,希望可以幫助:

Function GetRSSResults() As String 
GetRSSResults = GetHTTPResponse("https://water.weather.gov/ahps2/rss/fcst/fdyo1.rss") 
r = GetRSSResults 
s1 = Replace(r, ">", ">") 
s2 = Replace(s1, "&#x3C;", "<") 
searchTerm = "Highest Projected Forecast Available: " 
s = InStr(s2, searchTerm) + Len(searchTerm) 
l = InStr(s, s2, "ft") 
Debug.Print Trim(Mid(s2, s, l - s)) 
End Function 
'------------------------------------------ 
Function GetHTTPResponse(url As String) As String 
Dim msXML As Object 
Set msXML = CreateObject("Microsoft.XMLHTTP") 
With msXML 
    .Open "Get", url, False 
    .setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=utf-8" 
    .send 
    GetHTTPResponse = .responseText 
End With 
Set msXML = Nothing 
End Function 
+0

感謝您的答覆。我跑你的腳本,但它返回2空行。運行時不會出現任何錯誤或任何錯誤。有任何想法嗎?謝謝! – hunter21188

+0

輸出將顯示在立即窗口中,我得到以下結果: <?xml version =「1.0」encoding =「UTF-8」?>

+0

啊,好的。我試着從我的一個Subs中調用'Debug.Print s2'。我想我不能那樣做?我確實得到了完整的源代碼,這非常棒。但我想要的是隻檢索原來帖子中提到的那個號碼。那有意義嗎?謝謝! – hunter21188