FXCMのDDEサンプルについて
FXCM_API をインストールしてから、DDEやVBSサンプルの中身を確認しながら、ちんぷんかんぷんな状態を過ごしていた。なぜならDDEのサンプルは動かないし、VBSのコードはちとこなしてからVB6にもってこないと動かないことがわかっていなかったからだ。で、DDEはなくても困らないので忘れていたのだが、2,3日前から気になって見直していたのだが、要は、タイマーで2秒ごとにデータを取得する仕様らしくHELPでCOMの中身を調べていたところ、Set oOffersTable = oTradeDesk1.TablesManager.FindTable("Offers")という一文があり、TablesManager は見つかるものの、FindTable()は見つかりませんというメッセージが出るのだ。つまりかなり古い構文のまま残っているのだな、と理解した。で、Set oOffersTable = oTradeDesk1.FindMainTable("offers")に差し替えて、Public Function fncGetRates() の中の、oRow.bid を oRow.CellValue("Bid")oRow.ASK を oRow.CellValue("Ask")oRow.TIME を oRow.CellValue("Time")に変更し、下記を追加Dim tmptmp = fncGetRate(oRow.Instrument, oRow.CellValue("Bid"), oRow.CellValue("Ask"), oRow.CellValue("Time"))さらに、If oRow.Time > dtLastDate Then dtLastDate = oRow.Timeを、If oRow.CellValue("Time") > dtLastDate Then dtLastDate = oRow.CellValue("Time")に差し替えてやったらようやく動き出した。----- ここまでvb6の話し ---------------------O2GDDE.exe を起動し、ログインしておき、無事、Excelでデータを取得できるようになった。こういうやり方もある、という見本なのだが、動かないことをサポートは把握していないようだ。つまり、問い合わせる人がいないことを意味するので、APIを使うような人はマニアックで少数派なのかな?!これって、vb6をもっていないと修正も不可能なんだけどな。以上