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:

  • Requirements VSTO solutions.
    This is older, but is helpful to read
    regarding the differences between the
    2005 and 2005 SE versions. This
    is also decent in that it
    includes the 2008 version.
  • Online resources for VSTO. This
    is a good ‘jump’ site for learning
    more about VSTO.
  • Getting Started (Visual Studio Tools
    for Office)
    . This, and it’s
    sister link pages, are good jump
    pages. Not that useful if you’re just
    coming up to speed with VSTO, but
    good for a little bit later.
  • Can you build one add-in for
    multiple versions of Office?
    This is older, but discusses some of
    the issues around building for
    multiple versions of Office.
  • This site used to be better
    organized, but I’ve always found that
    videos are a very fast way to learn.
    Most of these videos use one version
    of VSTO.

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