View Full Version : Can I keep an API from updating?

09-30-2015, 09:52 PM
Hey everyone,

I'm updating a model that pulls in data from Bloomberg using their Excel API, which only works on a computer (terminal) that has Bloomberg's software installed (because their API pulls data from their software). The data is pulled via custom functions from the API [e.g. =BDP(stuff, more stuff)]. When using the terminal, everything pulls in fine, but once the spreadsheet is opened on another computer it all turns into #NAME errors. My dream is a VBA code that detects if the API is installed and then enables or disables updates to those custom functions (or the API) accordingly. Does anyone know if something like this is possible?

I understand that the simplest solution is to paste values, but the problem is that the functions are embedded in formulas and the users really want to see what's going on. As a last resort (and I mean last resort because it's months of work and they don't want me spending that kind of time), I will create a data sheet and all the formulas will reference to it.

If I can't just disable updates or whatnot, perhaps I can create a custom function to put in front of the Bloomberg functions that somehow keeps them from updating (something like Text or Fixed... Except those would update).

I'm assuming this is a long shot, particularly as there's no way for me to modify the API, but I had to ask.

Thank you in advance for any suggestions or even just trying to come up with something!

Clarification: Computers that don't have the software don't have the API installed. So I believe it's just excel not recognizing the custom functions when the API isn't installed (hence the #NAME error). However, I'm still not sure where the data is pulled into (like if the API just referenced a temp file that I could also pull from or fix the value of). As such, I was thinking I could basically recreate the API's custom functions such that Excel would at least recognize them and then have that function run the API's functions if the API is installed... However, the API's functions are just long strings of codes and overrides that I wouldn't be able to put into a universal function.