2017-06-05 85 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