Используйте DDE для управления Bloomberg через Javascript — объект не поддерживает метод

Я следую шагам из Как открыть определенный терминал Bloomberg страницу программно? для управления окном терминала Bloomberg через DDE (ActiveX/Javascript):

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 не работает?

Спасибо

Райан


person Ryan    schedule 23.07.2012    source источник


Ответы (1)


У меня была такая же проблема, и на данный момент я совершенно убежден, что с помощью 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
person hexboy    schedule 18.09.2012
comment
Спасибо! Ах, вернемся к IE, а затем ‹стонать› - person Ryan; 21.09.2012