首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >路透社检索数据后继续

路透社检索数据后继续
EN

Stack Overflow用户
提问于 2014-04-29 10:37:37
回答 1查看 5.8K关注 0票数 0

汤森路透Eikon:

我需要从路透社获得外汇现货价格的数据。用路透社的公式很容易做到这一点。但是,我需要在VBA脚本中使用这些数据。VBA脚本的一部分插入公式,然后路透社检索数据,但这可能需要一段时间(10-20秒)。

如何使VBA脚本暂停,直到路透社检索到数据?(在前10秒内,路透社的数据显示:“检索.”

代码语言:javascript
复制
Range("B2").value = Application.Evaluate("RtGet(" & IDN & "," & RWAL & "," & MIDPRICE & "," & TYPENUM & ")")

此代码现在用于插入公式,其中RWAL是汇率标识符(如EUR=)。

EN

回答 1

Stack Overflow用户

发布于 2014-05-14 10:04:10

我们需要使用application.run在代码中使用RtGet函数作为其真正的工作表函数。因为它是工作表函数,所以在运行代码时不会检索数据。

为了解决这个问题,我们使用Application.RTD.RefreshData从RTD服务器中提取数据。

代码语言:javascript
复制
Function getField(ric As String, field As String) As String
    Data = Application.Run("RtGet", "IDN", ric, field)
    Do While VBA.Left(CStr(Data), 3) = "Ret" 'ie loop while it is retrieving data
        Application.RTD.RefreshData
        DoEvents
        Data = Application.Run("RtGet", "IDN", ric, field)
        Debug.Print Data
    Loop
    getField = Data
End Function

Public Sub testGetField()
    Dim test
    test = getField("EUR=", "BID")
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23362256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档