-1

我正在寻找需要从 RTD 服务器调用数据的相同答案

Sub Test() 
    Range("d1") = RTD("tickerplantrtdserver", , 4#2#1#6768#FUTSTK#N1#0#XX#Bid)
End Sub

当我从 Excel 中提取数据时

RTD("tickerplantrtdserver", , 4#2#1#6768#FUTSTK#N1#0#XX#Bid)

它工作正常并给出一个数字。

4

2 回答 2

1

尝试这个:

Range("d1") = [RTD("tickerplantrtdserver", , 4#2#1#6768#FUTSTK#N1#0#XX#Bid)]

[]括号是Evaluate函数的快捷方式。
所以也可以这样写:

Range("d1") = Evaluate("RTD(""tickerplantrtdserver"", , 4#2#1#6768#FUTSTK#N1#0#XX#Bid)")

注意部分中的双引号""tickerplantrtdserver""
我还没有尝试过,也没有办法测试,但Evaluate对公式有效,所以我只是假设它与RTD.

于 2015-03-18T08:17:48.353 回答
0

RTD 被设计为连续返回数据,但是对于当前值,试试这个:

Dim xlApp As New Excel.Application
Sub test()
   Range("D1") = xlApp.WorksheetFunction.RTD("tickerplantrtdserver", Null, "4#2#1#6768#FUTSTK#N1#0#XX#Bid")
End Sub

xlApp 很慢,所以你只想初始化一次

如果你得到一个错误的值,服务器可能还没有一个值,所以几秒钟后再试一次

注意:仅限 Windows Excel(MAC 不支持 RTD)

于 2018-05-14T18:18:49.813 回答