So far you have seen how to use Visual Studio to develop managed customizations and add-ins that can run in various Office applications. Clearly, it is possible to use the power of both managed code and the rich Office object models together. However, compare the development process for such solutions to, say, designing a Windows Forms-based application in Visual Studio. Developers of forms-based solutions get visual designers, powerful data binding, and a truly object-oriented programming model. These tools help professional developers manage the complexity of modern application construction.
Visual Studio Tools for Office (VSTO) takes the same approach to Word and Excel solution development. VSTO features include the following:
- Word and Excel run as designers inside Visual Studio.
- Workbooks, worksheets, and documents are represented by customizable, extensible classes in an object-oriented programming model.
- Managed controls can be hosted by worksheets and documents.
- Business process code can be logically separated from display code.
- Windows Forms data binding connects business data to controls.
- Business data can be cached in the document and manipulated as XML, enabling both offline client and server scenarios.
Part Three of this book explores these features:
- Chapter 13, "The VSTO Programming Model," shows how VSTO extends the Word and Excel object models.
- Chapter 14, "Using Windows Forms in VSTO," covers adding Windows Forms controls to VSTO-customized documents.
- Chapter 15, "Working with Actions Pane," shows how to add managed controls to Office's Document Actions task pane.
- Chapter 16, "Working with Smart Tags in VSTO," shows how to implement Smart Tags using managed code.
- Chapters 17, "VSTO Data Programming," and 18, "Server Data Scenarios," discuss ways to manipulate datasets associated with the document on the client and server.
- Chapter 19, ".NET Code Security," covers the VSTO security model.
- Chapter 20, "Deployment," shows how to deploy your customized documents.
Part Three also examines some advanced topics regarding using XML with Word and Excel, and creating managed application-level add-ins in Word, Excel, and Outlook.