1

我对宏和这个论坛很陌生。我搜索了论坛并没有找到我正在寻找的答案。我正在编写一个宏来启动 Bloomberg DDE,所以当单击一个按钮时,一个终端窗口将出现在前面,并且已经提交了特定的语法。

一般而言,假设 $B$3 = MSFT, $H$2=CSCO, $E$9=GIS

如果用户在电子表格上选择 MSFT,然后单击 GIP30 按钮,我希望将以下内容发送到 BB 终端:

微软 GIP30

因此,除了标识选择了哪个单元的宏之外,可能需要在传输到 BB DDE 之前附加“US”。我从网上收集了一些花絮。

当我硬编码“MSFT US”时让它工作,但需要它是动态的。我注释掉了“动态”代码。

感谢所有帮助。

谢谢。

Sub OpenGIP()

Dim ch As Long
ch = DDEInitiate("winblp", "bbk")
'Opens Bloomberg window #2 (Note: <blp-n> - where n is [BB Window instance # - 1])
Call DDEExecute(ch, "<blp-1><home> MSFT US <EQUITY> GIP30 <GO>")
'Call DDEExecute(ch, "<blp-1><home> ActiveCell.Value & ' US' <EQUITY> GIP30 <GO>")
Call DDETerminate(ch)

End Sub
4

1 回答 1

2

尝试这个

Call DDEExecute(ch, "<blp-1><home> " & ActiveCell.value & " US <EQUITY> GIP30 <GO>")
于 2013-02-19T20:26:44.620 回答