Используйте 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 не работает?
Спасибо
Райан
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