Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath
- By Eric Carter, Eric Lippert
- Published Sep 8, 2005 by Addison-Wesley Professional. Part of the Microsoft Windows Development Series series.
- Copyright 2006
- Dimensions: 7x9-1/4
- Pages: 1008
- Edition: 1st
- ISBN-10: 0-321-33488-4
- ISBN-13: 978-0-321-33488-6
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
ERIC CARTER is a lead developer on the Visual Studio Tools for Office (VSTO) team at Microsoft. He helped invent, design, and implement many of the features that are in VSTO today. Previously at Microsoft he worked on Visual Studio for Applications, the Visual Studio Macros IDE, and Visual Basic for Applications for Office 2000 and Office 2003.
ERIC LIPPERT'S primary focus during his nine years at Microsoft has been on improving the lives of developers by designing and implementing useful programming languages and development tools. He has worked on the Windows Scripting family of technologies and, most recently, Visual Studio Tools for Office.
© Copyright Pearson Education. All rights reserved.
"With the application development community so focused on the Smart Client revolution, a book that covers VSTO from A to Z is both important and necessary. This book lives up to big expectations. It is thorough, has tons of example code, and covers Office programming in general terms topics that can be foreign to the seasoned .NET developer who has focused on ASP.NET applications for years. Congratulations to Eric Lippert and Eric Carter for such a valuable work!"
Tim Huckaby, CEO, InterKnowlogy, Microsoft regional director
"This book covers all of the ins and outs of programming with Visual Studio Tools for Office in a clear and concise way. Given the authors' exhaustive experiences with this subject, you can't get a more authoritative description of VSTO than this book!"
Paul Vick, technical lead, Visual Basic .NET, Microsoft Corporation
"Eric and Eric really get it. Professional programmers will love the rich power of Visual Studio and .NET, along with the ability to tap into Office programmability. This book walks you through programming Excel, Word, InfoPath, and Outlook solutions."
Vernon W. Hui, test lead, Microsoft Corporation
"This book is an in-depth, expert, and definitive guide to programming using Visual Studio Tools for Office 2005. It is a must-have book for anyone doing Office development."
Siew Moi Khor, programmer/writer, Microsoft Corporation
"We don't buy technical books for light reading; we buy them as a resource for developing a solution. This book is an excellent resource for someone getting started with Smart Client development. For example, it is common to hear a comment along the lines of, 'It is easy to manipulate the Task Pane in Office 2003 using VSTO 2005,' but until you see something like the example at the start of Chapter 15, it is hard to put 'easy' into perspective. This is a thorough book that covers everything from calling Office applications from your application, to building applications that are Smart Documents. It allows the traditional Windows developer to really leverage the power of Office 2003."
Bill Sheldon, principal engineer, InterKnowlogy, MVP
"Eric Carter and Eric Lippert have been the driving force behind Office development and Visual Studio Tools for Office 2005. The depth of their knowledge and understanding of VSTO and Office is evident in this book. Professional developers architecting enterprise solutions using VSTO 2005 and Office System 2003 now have a new weapon in their technical arsenal."
Paul Stubbs, program manager, Microsoft Corporation
"This book is both a learning tool and a reference book, with a richness of tables containing object model objects and their properties, methods, and events. I would recommend it to anyone considering doing Office development using the .NET framework; especially people interested in VSTO programming."
Rufus Littlefield, software design engineer/tester, Microsoft Corporation
Visual Studio Tools for Office is both the first and the definitive book on VSTO 2005 programming, written by the inventors of the technology. VSTO is a set of tools that allow professional developers to use the full power of Visual Studio .NET and the .NET Framework to put code behind Excel 2003, Word 2003, Outlook 2003, and InfoPath 2003. VSTO provides functionality never before available to the Office developer: data binding and data/view separation, design-time views of Excel and Word documents inside Visual Studio, rich support for Windows Forms controls in a document, the ability to create custom Office task panes, server-side programming support against Office, and much more.
Carter and Lippert cover their subject matter with deft insight into the needs of .NET developers learning VSTO. This book
Explains the architecture of Microsoft Office programming and introduces the object models
Teaches the three basic patterns of Office solutions: Office automation executables, Office add-ins, and code behind a document
Explores the ways of customizing Excel, Word, Outlook, and InfoPath, and plumbs the depths of programming with their events and object models
Introduces the VSTO programming model
Teaches how to use Windows Forms in VSTO and how to work with the Actions Pane
Delves into VSTO data programming and server data scenarios
Explores .NET code security and VSTO deployment
Advanced material covers working with XML in Word and Excel, developing COM add-ins for Word and Excel, and creating Outlook add-ins with VSTO.
© Copyright Pearson Education. All rights reserved.
Download the source code files for:
23 of 24 people found the following review helpful
The Bible of VSTO,
This review is from: Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath (Paperback)When you see volume that huge (952 pages less the index), you are led into thinking that this is another documentation rehash.
Well, this is not the case here. The book's size is well justified by the fact that they present the material with the least rehash possible and give realistic examples that are mostly usable without any modification or customization at all. Quite impressive, IMHO, is the fact that they take it really seriously and make the extra effort to write samples that properly follow coding conventions and style. It is quite sad and disappointing to still see these days books by self-proclaimed gurus presenting FooBar-ish sample code (due to lack of taste or lack of imagination) without an regard or respect to the readers. Whatever happened to coding style?
Even though the book is written by two Microsofties that have actually worked intimately with VSTO, and that's a clear advantage, they sure utilize that in the finest way possible: almost every... Read more
10 of 11 people found the following review helpful
Much value to be found here...,
This review is from: Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath (Paperback)Part of my 2006 professional goals involve learning more about Microsoft's collaboration software. To that end, I got a review copy of Eric Carter and Eric Lippert's book Visual Studio Tools for Office - Using C# with Excel, Word, Outlook, and InfoPath. Good stuff here...
Part 1 - An Introduction to VSTO: An Introduction to Office Programming; Introduction to Office Solutions
Part 2 - Office Programming in .NET: Programming in Excel; Working with Excel Events; Working with Excel Objects; Programming Word; Working with Word Events; Working with Word Objects; Programming Outlook; Working with Outlook Events; Working with Outlook Objects; Introduction to InfoPath
Part 3 - Office Programming in VSTO: The VSTO Programming Model; Using Windows Forms in VSTO; Working with Action Pane; Working with Smart Tags in VSTO; VSTO Data Programming; Server Data Scenarios; .NET Code Security; Deployment
Part 4 - Advanced Office... Read more
6 of 10 people found the following review helpful
Nice walkthrough of programming and embedding in Office,
This review is from: Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath (Paperback)This is a solid walkthrough of building C# automation code for Office, and for writing code that integrates into Office. Excel is covered in depth. As are Word, Outlook and the fascinating new Infopath product that is an XML technologies client.
The writing is good. I could have used a few more non-screenshot graphics to illustrate the control flow between applications. But these are nit-picks. This is a solid book on automating and integrating with office using C# and .NET framework.
› See all 5 customer reviews...
Online Sample Chapters
Table of Contents
About the Authors.
I. AN INTRODUCTION TO VSTO.
1. An Introduction to Office Programming.
2. Introduction to Office Solutions.
II. OFFICE PROGRAMMING IN .NET.
3. Programming Excel.
4. Working with Excel Events.
5. Working with Excel Objects.
6. Programming Word.
7. Working with Word Events.
8. Working with Word Objects.
9. Programming Outlook.
10. Working with Outlook Events.
11. Working with Outlook Objects.
12. Introduction to InfoPath.
III. OFFICE PROGRAMMING IN VSTO.
13. The VSTO Programming Model.
14. Using Windows Forms in VSTO.
15. Working with Actions Pane.
16. Working with Smart Tags in VSTO.
17. VSTO Data Programming.
18. Server Data Scenarios.
19. .NET Code Security.
IV. ADVANCED OFFICE PROGRAMMING.
21. Working with XML in Excel.
22. Working with XML in Word.
23. Developing COM Add-Ins for Word and Excel.
24. Creating Outlook Add-Ins with VSTO.
In 2002, the first release of Visual Studio .NET and the .NET Framework was nearing completion. A few of us at Microsoft realized that Office programming was going to miss the .NET wave unless we did something about it.
What had come before was Visual Basic for Applications (VBA), a simple development environment integrated into all the Office applications. Each Office application had a rich object model that was accessed via a technology known as COM. Millions of developers identified themselves as "Office developers" and used VBA and the Office COM object models to do everything from automating repetitive tasks to creating complete business solutions that leveraged the rich features and user interface of Office. These developers realized that their users were spending their days in Office. By building solutions that ran inside of Office, they not only made their users happy, they were also able to create solutions that did more and cost less by reusing functionality already available in the Office applications.
Unfortunately, because of some limitations of VBA, Office programming was starting to get a bad rap. Solutions developed in VBA by small workgroups or individuals would gain momentum and a professional developer would have to take them over and start supporting them. To a professional developer, the VBA environment felt simple and limited, and of course, it enforced a single language: Visual Basic. VBA embedded code in every customized document, which made it hard to fix bugs and update solutions because a bug would get replicated in documents across the enterprise. Security weaknesses in the VBA model led to a rash of worms and macro viruses that made enterprises turn VBA off.
Visual Studio .NET and the .NET Framework provided a way to address all these problems. A huge opportunity existed to not only combine the richness of the new .NET Framework and developer tools with the powerful platform that Office has always provided for developers but to also solve the problems that were plaguing VBA. The result of this realization was Visual Studio Tools for Office (VSTO).
The first version of VSTO was simple, but it accomplished the key goal of letting professional developers use the full power of Visual Studio .NET and the .NET Framework to put code behind Excel 2003 and Word 2003 documents and templates. It let professional developers develop Office solutions in VB.NET and C#. It solved the problem of embedded code by linking a document to a .NET assembly instead of embedding it in the document. It also introduced a new security model that used .NET code-access security to prevent worms and macro viruses.
The second version of VSTO, known as VSTO 2005, the version of VSTO covered by this book, is even more ambitious. It brings with it functionality never available to the Office developer before, such as data binding and data/view separation, design-time views of Excel and Word documents inside Visual Studio, rich support for Windows Forms controls in the document, the ability to create custom Office task panes, server-side programming support against Officeand that's just scratching the surface. Although the primary target of VSTO is the professional developer, this does not mean that building an Office solution with VSTO is rocket science. VSTO makes it possible to create very rich applications with just a few lines of code.
This book tries to put into one place all the information you need to succeed using VSTO to program against Word 2003, Excel 2003, Outlook 2003, and InfoPath 2003. It introduces the Office object models and covers the most commonly used objects in those object models. In addition, this book will help you avoid some pitfalls that result from the COM origins of the Office object models.
This book also provides an insider view of all the rich features of VSTO. We participated in the design and implementation of many of these features. We can therefore speak from the unique perspective of living and breathing VSTO for the past three years. Programming Office using VSTO is powerful and fun. We hope you enjoy using VSTO as much as we enjoyed writing about it and creating it.