Patrick's Bytes

17, January 2008

VSTO Reloaded

Today the MSE team did a Tech Preview to fellow developers on Visual Studio 2008 which actually available for MSDN subscribers late last year and is available for sales now.

My session is about Visual Studio Tools for Office (VSTO) 2008 and a lot of productivity enhancements have been put inside the package in this current version. They include but not limited to:

  1. Better UI Development on Office UI
    • Form Regions in Outlook
    • Custom Task Pane
    • Custom Ribbon for Excel, Word and PowerPoint.
    • No relearn, leverage on Windows Form Development skill
    • Windows Form able to host WPF app and extends this capability via Custom Task Pane
  2. SharePoint Workflow development
    • No more manual writing of workflow.xml, feature.xml (both are SharePoint feature config files) and deployment script
    • Streamline development process from 15 steps to 3 steps in VSTO 2008
  3. Word Content Control data binding with VSTO addin
    • Bringing unstructured data from Word documents to a structured world
    • Able to attach custom XML such as RosettaNet or UNeDoc which as industry based XML schema to Word data.
  4. Easy deployment of VSTO – Office Addin via Click Once
    • No more reliant on CASPOL
    • Transparent to end users


I demo a cool VSTO addin for Word 2007 hosting a WPF user control with colossal effect and acting as a client to a WCF services at the back end. The data access is done using LINQ for XML. After that I will publish

It is based on an article in MSDN Dec 2007 issue but the source codes there is not working for RTM version of VS 2008. Many thanks for fellow MS staff Andrew Whitechapel for making it work for VS2008 RTM.

You can download the slides and working version of the source code here. They are hosted on Windows Live Skiydrive/ Folders.

Slides in PDF

Slides in XPS

Source Code in C#

I will come out with a tutorial for the SharePoint Workflow later and also a VB9 version of the source code. So stay tuned. ๐Ÿ™‚



  1. Hey, I attended your presentation on the VSTO. I was truly impress by the panel that you had coded for Microsoft’s word . I pretty new in office programming and would really like to know some info.
    Let say, if I need to develop some functionality in excell that talk to web services,passing data and synchronizing with a sql database. Will VSTO a good candidate to explore? It is very crucial for the Excel to recognice which document that required this features, and which document don’t.
    Btw, I already have an existing working apps with microsoft office 2003, I’m just thinking ahead, and risk on software currency.


    Comment by JY — 18, January 2008 @ 2:18 am | Reply

  2. Hi JY,

    There are tonnes of ways to get Excel syncronize with a back end database. Depends you want to have 2 way or 1 way sync. Some ideas:

    1. Develop a VSTO addin like I did and use Excel Object Model.
    2. Use VBA to call Excel OM but the web services part is harder to do on VBA.
    3. If its sending data back to server, you can make use of pure Excel XML feature. Check out my post few days ago.

    You can email me and we talk offline. v-payong (at)

    Comment by patrickyong — 18, January 2008 @ 4:00 am | Reply

  3. […] Look at it, it is a familar interface like our normal Windows Form app but it gives end users a fresh feel which I think they will be happy to open and use everyday. And if you want to integrate this into Office task panes as a WPF add in, you can do so easily with VSTO 2008 as I mentioned here. […]

    Pingback by Your ERP, CRM and LOB should look like this! « Patrick’s Bytes — 10, February 2008 @ 2:53 pm | Reply

  4. […] Source URL: […]

    Pingback by Charles Ayoub News Portal — 21, November 2013 @ 1:09 am | Reply

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in: 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

Blog at

%d bloggers like this: