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: https://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: https://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.