Bloomberg - макрос Excel VBA для отправки по электронной почте Bloomberg ‹CN› screen через ‹GRAB›

Я хочу разработать макрос Excel-Bloomberg. Таблица Excel будет связана с надстройкой Bloomberg и, конечно же, с терминалом Bloomberg. Цель макроса - иметь список ценных бумаг в столбце A, для которого нам нужно собрать «новости компании». Цель этого макроса - предоставить новости как источник поддержки для акций, выходящих за пределы допустимого диапазона цен. Желателен экран Bloomberg <CN>. Макрос должен выполняться на экране <CN> (новости компании) для каждой ценной бумаги, указанной в столбце A электронной таблицы.

Целью этого макроса будет <GRAB> (экспорт экрана, виртуальная печать растрирования и отправка <CN> экрана по электронной почте) для любой ценной бумаги в столбце A с изменением цены на 10% или больше.

Например, на дату 23.10 акции компании «Yelp» упали на -18%. Новости на экране Bloomberg <CN> выглядят следующим образом: http://tinypic.com/r/2qnqgci/8 "Yelp сообщает о резком падении, поскольку квартальный прогноз не соответствует оценкам"

Как я могу заставить этот <CN> экран выполнять макрос VBA? и, возможно, как мне получить следующий экран (после нажатия на новость №1 на изображении) http://tinypic.com/r/t6p6o6/8

Макрос будет искать акции YELP на Bloomberg, используя CUSIP компании, равный 985817105 Equity

Простая формула для справки. Чтобы получить последнюю цену за текущий день, будет: =BDH(985817105 Equity,PX_LAST,20141023) [все эти значения будут ссылками на ячейки, история данных Bloomberg] в качестве альтернативы можно использовать формулу =BDP: =BDP(985817105 Equity,PX_LAST) [эта формула точки данных Bloomberg фиксирует только текущий день данные]

Я видел код Bloomberg, в котором для навигации использовались символы клавиатуры, то есть <tabr> & <GO>, но я не слишком знаком.


person phillipsK    schedule 23.10.2014    source источник


Ответы (1)


Что-то вроде этого.

bg = DDEInitiate("winblp", "bbk")
Call DDEExecute(bg, "<blp-3><home>ID " & bbgkey & "<GO>")
Call DDEExecute(bg, "<blp-3>CN<GO><copy>")
ThisWorkbook.Worksheets("Main").Range("A1").PasteSpecial
person CustodianOfCode    schedule 24.10.2014
comment
Как мы могли бы узнать больше об этих функциях DDE? Есть ли доступные ресурсы? - person phillipsK; 10.11.2014