VSTO “v3”-an early look at our direction

At PDC we showed an early alpha build of VSTO v3 that gave attendees an idea of where VSTO v3 is going.  Here are some of the early themes of VSTO v3:


Works with Office 12


VSTO v3 will target Office 12.  We plan to make all the features in VSTO 2005 that worked against Office 11 work against Office 12 in v3.  Check out this screenshot from the alpha build showing an early version of Word 12 inside of VS:


Create managed add-ins for more Office applications.

Check out this screenshot from the alpha build showing the available Office projects in the alpha build.  We are using the same add-in loading technology we used for the Outlook add-in project in VSTO 2005 plus some enhancements provided by Office to provide a great platform for building add-ins to target all the Office applications.


Customize and extend the new Office 12 UI Ribbon 

VSTO v3 will allow you to work with and customize the new ribbon described here: http://blogs.msdn.com/jensenh/archive/2005/09/14/467126.aspx. As part of our PDC hands on lab, we had an Excel add-in project that let you easily create your own new ribbon tab with your own custom buttons.


Create application level task panes for Word, Excel, Outlook, PowerPoint, etc.


In Office 2003, the only place VSTO let you create a custom task pane was for Word or Excel documents.  In VSTO v3 you will be able to create application level task panes that aren’t tied to a particular document in a lot more of the Office applications.  The VSTO v3 alpha build illustrated how easy this was.  Just create a user control like “MyUserControl” and then write this code in the ThisApplication_Startup event:


Public Sub ThisApplication_Startup()

   CustomTaskPanes.Add().Controls.Add(new MyUserControl())

End Sub


Notice that you have to add a task pane before you can add controls to it.  This is because you can add as many task panes as you like in Office 12 and they show up as separate dockable windows.  So this code would create two custom task panes with your user control in each of them:


Public Sub ThisApplication_Startup()

   CustomTaskPanes.Add().Controls.Add(new MyUserControl())

   CustomTaskPanes.Add().Controls.Add(new MyUserControl())

End Sub


Support the new Office 12 file formats


In VSTO 2005, we used a hidden ActiveX control in the document to embed the application manifest and any cached data and then provided a class called ServerDocument that allowed you to manipulate that data without starting Office on the server.


In VSTO v3 we will move the VSTO manifest and cached data into the new office file formats.  Check out Brian Jones’ blog for more information: http://blogs.msdn.com/brian_jones/default.aspx


We will still provide the ServerDocument class but we will no longer have to use a hidden ActiveX control in the document. Instead, we will just use Office’s new built in support for putting custom xml directly into the Office 12 file format as a part of the file format.


There is much more that we are thinking about for VSTO v3, but this should give you an idea as to some of the new things we will support. 

Comments (8)
  1. Bryan says:

    2 questions:

    #1, any planned release date for VSTO 3 yet? Will it be released at the same time as Office 12?

    #2, will the VSTO 3 runtime be at all compatible with Office 11? I am interested in the application-level task panes — any way this will make its way into Office 11, or will it only be an Office 12 thing?


  2. Hi Eric,

    If you’re interestinf, I’ve just written an article on VSTO 2:


    Also, if you need BETA-Testers for this new version of VSTO, I’m interesting: feel free to contact me :p


    It’s look like very very interesting 🙂


  3. Eric Carter says:

    There is not a release date for VSTO 3 yet. The application-level task pane feature is a feature of Office 12 so we can’t make it work down level for Office 11. In Office 11, the task pane is tied to a document and is only available to be customized in Word & Excel.

  4. anubhav says:

    I am adding the list Object control dynamically at run time. The data is rendered when the application is run. Now, when I try to add a new record in the listObject range, and press the button placed on the excel sheet….I want the changes to be reflected back to the database. Also that, when the data is fetched into the dataset, I am removing some columns before hand in the code. I want all the values to be picked up and updated back ot database.

    Please help me, in case you can give some sample code.

  5. Anubhav says:


    I have managed to do that, but for sure it took time cos I am new to VSTO Excel.


  6. Rod says:

    Will it be released at the same time as Office 12?

  7. Alex says:

    Hello Eric,

    We have a Word add-in written in C# using IDTExtensibility2 and targeting MS-Word 10 and up. I am trying to find out if we could migrate it to VSTO.

    You wrote:

    > The application-level task pane feature is a

    > feature of Office 12 so we can’t make it

    > work down level for Office 11.

    Will it be possible to use VSTO for application-level add-ins with MS-Word versions below 12 (without the application-level task pane, which you said is not supported)?

    Requiring our customer base to upgrade to Word 12 is not feasible.



Comments are closed.

Skip to main content