Just a few weeks ago, Microsoft released its Visual Studio Tools for the Microsoft Office System version 1.0. Reza Chitsaz brought an excellent preview of the new features in "Trinity" or VSTO 2.0.
Here are some facts, based on the demos:
- This version will still only work with Word & Excel (version 2003). Other Office tools may be supported in the future.
- On top of Word documents, Word templates and Excel documents, VSTO 2.0 will also support Excel templates (from beta 1 on).
- Excel and Word will now be hosted inside the IDE of Visual Studio .NET "Whidbey" while developing.
- To avoid menu cluttering, the Excel menus will be cascaded inside Visual Studio .NET "Whidbey"'s menus. For example: when you click on the Tools menu, the first menu item will be "Microsoft Excel Tools menu" which can expand and include Excel's Tools menu in the sub menu. This will also be true for Word.
- In Excel you'll be able to create a named range, for example 1 cell. In your code each range is accessible as an object and will have its own events. One example of an event would be the "Change" event, making it possible to trap changes to one or more cells.
- VSTO 2.0 will be available as part of Visual Studio .NET "Whidbey" and will also be delivered with the betas.
- An assembly can still be linked to the document, but with VSTO 2.0 it can also be embedded in the document.
- All (rich) WinForms controls can be on a document with VSTO 2.0.
- There are Excel specific controls (List and Range) to enable developers using their usual way of working.
- Data binding is now natively supported, no workaround, no hacks, you bind your data to a control, just as you would do with a regular WinForms application. You can even data bind to for example a chart and other native Office controls.
- External data can also be embedded in the document for offline working. This data is stored in a data island, which is actually a DataSet (read: XML)
- SmartPane objects are getting smarter! They can now be created with only one line of code:
SmartPane.Controls.Add(mySmartPaneControl)
These SmartPanes can now also be created like building a WinForms user control. They can also host the rich WinForms controls;
- After you apply an XML Schema to your Word document, objects are created for each element in the schema. You can use events to respond to, for example, data changes.
- There will be a "server" class for working with Word and Excel document data on the (web)server. High scalability is a priority for VSTO 2.0, so it won't create an instance of the application. The purpose of this "server" class will be to modify the data in the data island. This makes it possible to work with the data inside the document, but you won't be able to create a completely new document on the fly with VSTO 2.0.
Well, actually you can, but you can do it right now without VSTO: just create a Word document using WordML (XML schema for Word document)
- ClickOnce technology is supported. It won't be the real ClickOnce which only supports executable, but the Trinity-team is making something similar for VSTO. That solution will have the same possibilities as ClickOnce. One side note: documents which are protected with DRM won't be able to get automatically updated, since DRM enforces this.
- Security is also high priority, but I don't think they made many changes to version 1.0. Except of course for the embedded assemblies, which can only be trusted by their signature (since there is no location).
- You'll need Office 2003 for making full use of the VSTO 2.0, both on the client and on the server.
- VSTO 2.0 will be available as part of "Whidbey". The first test version will be made available with "Whidbey" beta 1, so it's currently not in our "goodies bag".
Gee, I'm writing too long posts here...