【问题标题】:Today's Currency Exchange Rate in VBA今日 VBA 中的货币汇率
【发布时间】:2015-12-30 18:11:08
【问题描述】:

我正在尝试将一个值转换为 NOK(例如 USD 到 NOK),但我无法加载整个 html 页面。

我正在使用找到的代码 here ,但我得到的 html 显示这个

    "<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en-US">
<head>
<title>USDNOK=X: Summary for USD/NOK- Yahoo! Finance</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><met

所以它基本上是在剥离网页,或者更确切地说是不等到它完成加载。获取网页链接中的代码是这样的:

Function ExecuteWebRequest(ByVal url As String) As String


Dim oXHTTP As Object

If InStr(1, url, "?", 1) <> 0 Then
    url = url & "&cb=" & Timer() * 100
Else
    url = url & "?cb=" & Timer() * 100
End If

Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", url, False
oXHTTP.send
ExecuteWebRequest = oXHTTP.responseText
Set oXHTTP = Nothing

End Function

也许有更好的方法来获取今天的 vba 汇率。

【问题讨论】:

  • 您看到的数据块约为 250 字节,这表明某处可能存在 255/256 字节的限制。 VBA 对我来说看起来不错,所以我想知道您是如何显示数据的,以及您是否正在使用会截断它的 EXCEL 电子表格函数,以及您是否这样做是因为您在 mid() 之一中遇到错误调用 - 代码在这里工作,除了您链接到的网页上发布的版本不正确。电子表格中的版本使用 instr 查找 HTML (td) 结束标记,但网页版本正在查找 ""
  • 顺便说一句,AFAICS 虽然代码看起来确实有效,但我认为它可能应该在 HTML 文档中查找特定节点并获取其值,而不是使用 instr 和 mid 来做同样的事情.但我不会尝试修复它!

标签: vba excel ms-word


【解决方案1】:

这个code 工作得很好,它也使用雅虎,但它是最新的 html 解析。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 1970-01-01
    • 2012-12-05
    相关资源
    最近更新 更多