- You'll save an extra 5% on Books purchased from Amazon.ca, now through July 29th. No code necessary, discount applied at checkout. Here's how (restrictions apply)
Visual Studio Tools for Office: Using C# with Excel, Word, Outlook, and InfoPath Paperback – Sep 8 2005
Special Offers and Product Promotions
Customers Who Bought This Item Also Bought
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
Getting the download link through email is temporarily not available. Please check back later.
To get the free app, enter your mobile phone number.
From the Inside Flap
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.
Eric Carter Eric Lippert
May 2005© Copyright Pearson Education. All rights reserved.
From the Back Cover
"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.See all Product Description
Most Helpful Customer Reviews on Amazon.com (beta)
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 page has a code snippet, a diagram, a table, or even a screenshot. The prose is direct to the point and avoids going excessively over material that is already available elsewhere, making this book one of the few huge books that are actually not boring. Heck, you can actually start coding from the first chapter.
Chapeau pas to Eric² for committing to deliver such a professional and comprehensive work.
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 Programming: Working with XML in Excel; Working with XML in Word; Developing COM Add-Ins for Word and Excel; Creating Outlook Add-Ins with VSTO
The two Erics have put together a very nice volume that shows how the programmability of Office is structured, and then how that object model can be used within the Visual Studio environment using special tools provided for that purpose. While you have to have the latest and greatest Office and VS software to follow along, their writing style is pretty straight-forward, and the reader should be able to pick up on the core concepts to understand the possibilities inherent in the integration. Even if you're not necessarily ready to fire up VS to program Word or Excel, Part 1 and 2 do a great job in showing the object layout of those Office components and how they can be manipulated. If you've never gotten into the code that can be added to a Word or Excel document, those two parts of the book would be worth it alone.
For me, I'm going to gain two benefits from this book. First, the object model information will help me better integrate Office into my Notes/Domino applications. I do some of that now, but the object model for Excel and Word have always been somewhat hazy to me. This book will help clarify those areas. Second, I think that knowing more about InfoPath will be part of my process as I seek to understand more about Microsoft collaboration application development. As a result, having this book should help me tie InfoPath into the Visual Studio environment and get a running start on my education.
Definitely a useful addition to your library if this is an area of interest to you...
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.
Look for similar items by category
- Books > Computers & Technology > Computer Science > Software Engineering
- Books > Computers & Technology > Microsoft > Applications > Office
- Books > Computers & Technology > Microsoft > Applications > Outlook
- Books > Computers & Technology > Microsoft > Development > .NET
- Books > Computers & Technology > Microsoft > Networking
- Books > Computers & Technology > Microsoft > Scheduling & E-mail
- Books > Computers & Technology > Networking & Cloud Computing > Networks, Protocols & APIs
- Books > Computers & Technology > Programming > Languages & Tools > C#
- Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Software Development
- Books > Computers & Technology > Software > Spreadsheets > Microsoft Excel
- Books > Computers & Technology > Software > Word Processors & Editors > Microsoft Word
- Books > Qualifying Textbooks - Fall 2007 > Computers & Internet
- Books > Textbooks > Computer Science & Information Systems > Networking
- Books > Textbooks > Computer Science & Information Systems > Programming Languages
- Books > Textbooks > Computer Science & Information Systems > Software Design & Engineering