Excel VBA中的RTD(需要从rtd调用数据)

时间:2015-03-18 07:55:34

标签: excel vba rtd

我正在寻找需要从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)

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

2 个答案:

答案 0 :(得分:0)

试试这个:

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的工作方式相同。

答案 1 :(得分:0)

RTD旨在连续返回数据,但对于当前值,请尝试以下操作:

   <project>
      ...
      <properties>
          <project.build.sourceEncoding>ISO-8859-1</project.build.sourceEncoding>
      </properties>
      ...
   </project>

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

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

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