使用DDE通过Javascript控制Bloomberg - 对象不支持方法

时间:2012-07-23 01:48:31

标签: javascript activex dde bloomberg

我正在跟踪How to open a specific bloomberg terminal page programmatically?中通过DDE(ActiveX / Javascript)控制Bloomberg终端窗口的步骤:

xlApp = new ActiveXObject("Excel.Application");
var app = xlApp.DDEInititate("winblp", "bbk");
xlApp.DDEExecute(app,"<blp-1><home>MSFT US<EQUITY><GO>DES<GO>");
xlApp.DDETerminate(app);
app = "";
xlApp.Quit();

然而,DDEInitiate的调用失败(IE8),'对象不支持此属性或方法' - 我可以看到xlApp已经定义,并且Visual Basic中的等效调用似乎工作正常:

ch = DDEInitiate("winblp", "bbk")

任何人都可以确定javascript无效的原因吗?

谢谢

赖安

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,而且我相信在这一点上用javascript无法做到这一点。我对vbscript没有任何问题,所以这就是它的帮助:

<html>
<body>

<input id="button1" type="button" value="Bloomberg Test" onclick="button1_onclick()" />

<script type="text/vbscript" src="test2.vbs"></script>

</body>
<html>

test2.vbs:

Sub button1_onclick()
    Dim ch
    Dim oXL

    Set oXL = CreateObject("Excel.Application")

    ch = oXL.DDEInitiate("winblp", "bbk")
    oXL.DDEExecute ch, "<blp-3><home>AAPL US<EQUITY><GO>BRC<GO>"
    oXL.DDETerminate ch

    oXL.Quit
End Sub