Excelとの間でデータを送受信するために使用しているRTDサーバーがあります。私は、ExcelのVBAのモジュールにいくつかの単純な関数を作成して、バックエンド全体を知らなくてもデータを取得できるようにすることで、ユーザーが簡単にできるようにしようとしています。
Function parseData(ByVal arrayData As String) As Variant
parseData = Evaluate(arrayData)
End Function
Function getQuote(ByVal ticker As String) As String
getQuote = parseData(Application.RTD("rTech.Quotes", , ticker))
End Function
Function getBidSize(ByVal ticker As String) As String
getBidSize = Application.RTD("rTech.Quotes", , ticker, "bidsize")
End Function
Function getBidPrice(ByVal ticker As String) As String
getBidPrice = Application.RTD("rTech.Quotes", , ticker, "bidprice")
End Function
Function getAskSize(ByVal ticker As String) As String
getAskSize = Application.RTD("rTech.Quotes", , ticker, "asksize")
End Function
Function getAskPrice(ByVal ticker As String) As String
getAskPrice = Application.RTD("rTech.Quotes", , ticker, "askprice")
End Function
Function getLast(ByVal ticker As String) As String
getLast = Application.RTD("rTech.Quotes", , ticker, "last")
End Function
それは基本的にそれですが、私がいつもやって彼らを呼ぶとき
= getBidSize( "XXXX")
試行ごとに#VALUEを返します。Application.RTDの部分でクラッシュしていると思いますが、デバッグを使用しているときにRTD呼び出しをステップオーバーすると「停止」するため、100%確実ではありません。