我在VBA中具有以下代码以连接到Bloomberg终端:
Dim Blp As Long
Blp = DDEInitiate("Winblp", "bbk")
Call DDEExecute(Blp, "<Blp-1>" & "NAPMPMI" & "<INDEX>" & " DES<GO>")
Call DDETerminate(Blp)
每次Excel都冻结在DDEInitiate()部分上,并且仅在我重新启动计算机或注销并重新登录后才起作用。
我尝试了以下操作,他们无法解决此问题:
1)。关闭一些Excel和COM加载项。我发现DDEInitiate工作时和停止工作时激活的加载项是相同的。因此,似乎不是阻止DDEInitiate运行的Excel / COM加载项。
2)。通过执行以下操作杀死代码开头的所有通道:
Dim i, ChannelNumber As Integer
For i = 1 To 1000
Application.DDETerminate (i) ' Closes all DDE links whose channels might be open
Next i
我还能尝试什么,DDE是否有其他替代方法可以将类似的命令发送给Bloomberg?
您找到解决方法了吗?