Should I use VSTO?

I got an email about this recently.

So here is my answer:

if you are developing in a homogeneous corporate environment


If you are using Visual Studio 2008 and Office 2007 then VSTO is very compelling for a lot of reasons. Even more so if VS2010 and/or Office 2010 are looming in your near future.

If you are using older versions of either VS or Office or are supporting multiple client configurations then I would say not to develop VSTO at this stage.

I havent done much with VS2005 VSTO (not many people have!), but my sense from work with prior versions and reading around is that there is little payback for the pain or using C# (or I guess – good luck finding documentation!), and the deployment hassles.

I’m also not sure how good the migration story is from 2003/2005 to later versions.

My advice would be to concentrate on a loosely coupled design so that parts can be migrated to more suitable technology piecemeal as and when a viable cost/benefit exists.

I’m actually working in VSTO 2008 (and O2007) at the moment and its quite a pleasant surprise.

I’ll blog more on that as I get time.



8 Responses to “Should I use VSTO?”

  1. sam Says:

    VSTO is good when you dont want to deploy open source code solutions -VBA :-) …This would typically be for commercial grade addins.

    Also if you want to use Custom Task Panes as a UI then again VSTO is a good option

    However the Formula + Code combination that Excel + VBA offers has no parallel.

  2. Samuel Jack Says:

    If you need to use older versions of Office, or want to use custom application level task panes in Office 2003, then I’d recommend Addin-Express ( We’ve been very pleased with it over the last 15 months – the support is especially good.

  3. sam Says:

    This is the tragedy. Why should one need to buy another software(VS/VSTO, Addin Express etc) to do something in Excel(Eg Build a custom Task Pane).

    Why cant this be as a “native” capability.

    Why cant we create COM Addins from Excel Directly. This was possible up to Excel XP(Developer edition)

  4. Bob Phillips Says:

    Why do you say that Sam? VS/VSTO was not dveloped as a tool to build Excel applications, and as such, the interoperability between such applications and Excel was/is poor. Some smart bods (Addin-Express is one, probably the best) have moved in to fill the gap.

    That has happened in so many areas, just in Excel think of products sush as the various Sparkline addiins, or my favoiurite addin, NameManager. To my mind it is far better that 3rd party addins do develop, that there is talenet out there than can build these things, rather than forcing us to go the way that MS might wish.

    Now if only someone would develop a decent tool to supercede that horrendous CF dialog in 2007/2010.

  5. Harlan Grove Says:

    VS specifically may not been intended for Excel, but VSTO? There’s all that demand for custom programmed PowerPoint widgets? UDFs for Word?

    My interpretation of sam’s comment is frustration that the developer version of Excel 2002 had the capability of making COM add-ins, and while it may not have been an ideal (or perhaps even a good) way to make them, MSFT removed the functionality in Excel 2003 (as well as discontinuing the XLODBC add-in, thus the SQL.REQUEST function) and provided no other option than VSTO.

    It’s difficult to avoid the impression that beginning with Excel 2003 MSFT had given up on Office Developers.

  6. sam Says:

    @Harlan…. Thats exactly what I meant.

    @ Bob

    One of most popular general purpose addin – ASAP Utilities is built as a COM addin using 2002 Developer edition.

    Bastien how has a problem with making this compatible with the 64 bit version of 2010

    Look at

    The solution suggested is … surprise “BUY$$” VS2008/10

    No doubt Third party tools beat the built in ones any day but thats not how things should be….The Name Manger form JKP & CW has been around for a long time much before 2007. The least MS could have done was to make a decent “Copy”

    Like wise the Sparklines from Fabrice is any day more richer than the one is 2010 even though its modified shapes as against a new Object type

    The Ribbon customizer by Andy Pope is another example…it is far more flexible and richer than the one in 2010.

    Surely MS has more resources, talent pool, expertise at its disposable than any of the independent firms/Individuals to give us some decent upgrades in features in every new version rather than making every new feature appear like a Beta 1.0 of the product

  7. Charles Says:

    The easiest way to port VB6 Com and Automation addins to 64-bit Excel is to convert them back to VBA. Performance is similar (apart from the UDF VBE refresh bug) but code security is significantly worse.
    Took me about half a day to make RangeCalc and Name Manager work in both 32 and 64 bit Excel 2010.

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: