I have a client who has an Excel sheet with direct links to Bbg apps which display research, estimates and news. We can achieve this in Eikon by the use of RACE hyperlinks.
HOWEVER, the user is not entirely satisfied, because in his Bbg solution, the links are always pushed to the same window in the same screen position, whereas with RACE, you always get a new window, in a different position - so the screen quickly gets "cluttered" with lots of windows, and since he regularly reviews multiple companies, it is not convenient to be closing windows all the time.
SO, I thought that side by side API might provide a neater solution - unfortunately I don't have any experience with this, and I don't really know where I might start, or even if it's possible to program from Excel to Eikon using SxS.
Alternatively, it might still be possible to use VBA to launch Eikon apps (used to be possible using e.g. koBrowser)... but I don't have any working examples to hand.
Can anyone help? Or make other suggestions?
Using SxS API it's possible to do both: launch new instances of Eikon apps and update context in existing apps (either previously launched by application or linked on a color channel). However, updating context in existing apps requires a Websocket client. It's quite likely that customer's machine will not have a COM Websocket client (that could be used in Excel VBA) ready installed. This means that a solution using SxS would require installing and registering a 3rd party ActiveX component on customer's machine. There's a bunch of such components available on the Internet, including some from Microsoft. If customer would be willing to install such component, then this could be an option. Without Websocket client SxS can only launch new instances of Eikon apps. You can try for yourself how this experience compares to launching apps through RACE. I created a quick example you can play with, which I'll send you via email.
There's a couple of things to note about SxS. One is that it only allows to launch a limited number of apps. The full list is available in SxS API documentation here. The other is only relevant to updating context in existing instances of apps (which requires a Websocket client). Managing an SxS session with Eikon is a bit of a challenge, as one needs to handle cases where user may have closed Eikon application or Eikon application may have crashed.
XMA Library is still installed with Eikon, but it is no longer registered, which means it's pretty much a dead end. Unless the user is very savvy and willing to register it and maintain the registration. But even in this case I wouldn't recommend using it. It does not allow updating context in existing instances of apps. It only allows one to launch new app instances, which you'd be better off doing using SxS API.
Yes, you can use Excel to Open Eikon applications by using SxS API.
I have created a sample Excel which uses VBA to connect to SxS API.
First, you need to have the product ID and application key. You can use App Key Generator in Eikon to create the product ID and application key.
Then, you need to know the application ID of the Eikon application, such as Quote Object, News, and Graph. You also need to know the format of the context used by that application.
After clicking the Button, the quote application will be launched.
You can refer to the SxS page on the Developer portal page.
I don't know the application IDs and contexts of other Eikon applications. For the application ID, you can directly contact the Eikon Support team.
Thanks Alex and Jirapongse. Sorry I have not responded sooner.
The potential solutions have turned out to be too complex for the end user. The competitor's solution just works out of the box, without any 3rd party software or websocket stuff. So he's not going forward with Eikon...
By the way, I got an error message when running the code: "License information for this component not found.You do not have an appropriate license to use this functionality in the design environment." This occurs on the function CreateObject("MSScriptControl.ScriptControl")