Hi Leonid,
I'm not sure how you want it to work.
Do you want the sheet to refresh itself when the async call completes, even though it is in manual mode?
You could do that by running a macro to recalc (triggered by ExcelAsyncUtil.QueueMacro) when the data comes back. That way you can wait for all the outstanding async results to come back, then simulate an F9 recalc that updates all the cells.
Another approach is to stick to automatic mode, but have a switch (from a ribbon or shortcut key) that enables / disables the async back-end calls. That way the user can put the sheet in 'editing' mode where back-end calls are suspended, then go back to 'live' mode when their done.
I have no access to Bloomberg and have no idea how their add-ins work. But I'm pretty sure Excel-DNA now has all the necessary plumbing for building any behaviour that Excel makes possible. It's sometimes tricky to decide how ti should work, and Bloomberg has sometimes made awkward trade-offs I'd steer away from.
Another approach, since you are on Excel 2010, is to use the native Excel async feature introduced in that version. I believe the works a bit differently regarding manual updates.
There is a NativeAsync sample in the distribution. You'll have to change your functions a bit too - (I'd suggest building all your async stuff on the .NET 4 Task-based APIs. That's what I'm most likely to improve the integration with in future.)
Any more questions or feedback on what you find or decide in this regards will be very welcome.
Cheers,
Govert