我目前正在尝试使用VBA内的DDE从Bloomberg终端自动截取屏幕截图。目前,我已经想出了一种通过“打印”方式自动提取屏幕截图的方法。通过Microsoft XPS Document Writer:
Dim ch As Variant
Dim CUSIP As String
CUSIP = Range("B12")
ch = DDEInitiate("winblp", "bbk")
Call DDEExecute(ch, "<blp-1>" & CUSIP & " mtge<GO>")
Call DDEExecute(ch, "<blp-1> DES<Go><print>")
Application.Wait Now + TimeValue("0:00:02")
Application.SendKeys "DES ", False
Application.SendKeys "{enter}", False
Call DDETerminate(ch)
代码似乎在第一次运行时工作正常,但随后每次都会崩溃开发人员。任何反馈或进一步的建议将不胜感激。谢谢!
答案 0 :(得分:2)
可能为时已晚,但这可能对某人有所帮助,因为我也必须这样做。您可以在DDE调用中使用<copy>
命令并将其粘贴到Word / Excel / Outlook中,而无需使用发送密钥:
Call DDEExecute(ch, "<blp-1> <copy>")