One of the cool new features of VSTO 3.0 is better support for what I would term "Extending VBA with VSTO".  Our strategy here and what we recommend to customers is that we aren't going to try to migrate all your VBA code to VSTO--this is a bit of an unsolvable problem to get 100% right.  Instead, what we want to enable is to allow you to take your existing VBA solutions and add to them with VSTO and .NET.

Why would you want to do this?

Well, there are a ton of developer technologies in .NET that would really make your life more productive and your VBA solutions more rocking if you take advantage of them.

As an example, you can extend VBA with VSTO and create new UI for your VBA solutions in WinForms or WPF.  The .NET forms stories are way more powerful than VBA Forms.  Other things you might want to do is use the new WCF support in Visual Studio 2008 to consume Web Services from your VBA solutions.

As further motivation, VSTO provides easier access to Office features like the Ribbon, the custom task pane, Smart Tags, winforms controls that you can put in Office documents, binding .NET data sources to Excel's List object, and the list goes on and on.  You can use these features with your existing VBA solutions

In my next post, I will show first how you can call VBA code from VSTO and in a later post how you can call VSTO code from VBA.