我正在寻找需要从 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)
它工作正常并给出一个数字。
尝试这个:
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
.
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)