Beginning VSTO Development

Yeah, it can get confusing, especially given the skip-level naming conventions, etc. Essentially, you’ll need:

  • Full version (not Express) of Visual
    Studio and the .NET version you’re targetting.
  • One of the VSTO run times (VSTO 2003, VSTO
    2005, VSTO 2005 SE, VSTO 2008, VSTO
    2010). For what your asking, VSTO
    2005 SE is probably your best bet.
  • When distributing your app, you’ll
    need more, like the PIAs and the .NET version you’ve targetted. For VSTO 2010, you don’t need the PIAs (just what you’re using will be packaged with your app automatically).

A couple of tips:

  • Going from the VBE inside of Office
    to VSTO should be a smooth-ish move
    if you’ve used .NET to much extent.
  • The VSTO versions of the object
    models for any given program (Excel,
    PowerPoint, etc.) there may be a few
    more ways of doing things that are
    different/better than in the VBA
    version of the object model. For
    example, the Bookmark control for
    Word in VSTO 2008 is not the same as
    the one that is native to one
    accessed via VBA.
  • Distributing your app can be a pain.
    This is the very reason that that VSTO for Visual Studio 2010 does not require you
    to include the full interop (PIA) files
    with your package.
  • Targetting different versions of
    Office with the same solution is not
    officially supported for pre-VSTO 2010. There are ways
    around this issue that some folks
    have talked about, but you won’t get
    much support from MSFT on it.

There are some sites that you should take a look at:

Finally, to save the best for last, this is the book I read when I was just starting out and it was very helpful: VSTO for Mere Mortals(TM): A VBA Developer’s Guide to Microsoft Office Development Using Visual Studio 2005 Tools for Office

Leave a Comment