VSTO for Mere Mortals™ is for VBA developers who are interested in migrating their skills to the next generation of Office development. Readers will benefit from a straightforward, practical introduction to writing managed code applications for Word 2003, Excel 2003, and Outlook 2003. Readers will also learn how to create add-ins for the most popular applications for Office 2003 and the 2007 Microsoft Office system using VSTO 2005 SE.
The expert authors provide a wealth of code samples that show off popular features of VSTO, such as smart tags and the actions pane. Sample code also shows you how to customize the new UI features of the 2007 Microsoft Office system, including the ribbon, custom task pane, and Outlook forms region.
VBA developers will walk away with
- A greater understanding of managed code and the Visual Studio integrated development environment (IDE)
- Multiple demonstrations on how to create document-level customizations for Word 2003 and Excel 2003, using view controls, data binding, and the actions pane
- A comprehensive overview of add-in development for Outlook 2003
- Useful information on securing and deploying solutions created with VSTO and VSTO 2005 SE
- A thorough explanation on how to migrate VBA solutions to Visual Basic 2005 and VSTO
- Numerous details on customizing the ribbon, custom task pane, and Outlook form regions by developing VSTO 2005 SE add-ins for the 2007 Microsoft Office system
Kathleen McGrath is a programming writer at Microsoft. She has written documentation for Visual Studio 2005 Tools for the Microsoft Office System (VSTO), Visual Studio Tools for Applications (VSTA), and Visual Basic. Prior to joining Microsoft, she worked as a VBA developer customizing Word applications in the financial printing and legal industries. Kathleen has also created short video demonstrations of the features of VSTO and Visual Basic on her blog at http://blogs.msdn.com/kathleen.
Paul Stubbs works as a program manager with the Visual Studio Tools for Office (VSTO) team at Microsoft. In addition to VSTO, Paul works with the VSTA team developing a new managed code application programmability development tool for InfoPath 2007 and independent software vendors (ISVs). Paul has written for MSDN Magazine and has spoken at such events as TechEd and TechReady. Paul also participates in the developer community on the Microsoft forums and his blog at http://blogs.msdn.com/pstubbs.
Foreword xxi
Preface xxv
Introduction xxvii
Acknowledgments xxxiii
About the Authors xxxv
Part I Introduction to VSTO 1
Chapter 1 Getting Started with VSTO 3
Topics Covered in This Chapter 3
What Is VSTO? 3
Why Use VSTO Instead of VBA? 5
Features of VSTO 7
Creating VSTO Solutions 15
How VSTO Integrates with Visual Studio 22
Summary 25
Review Questions 26
Chapter 2 The Programming Environment 27
Topics Covered in This Chapter 27
Introduction to the Visual Studio IDE 27
Viewing IDE Windows 35
Tools for Writing Code 52
Building and Running Code 61
Debugging Your Code 63
Locating and Using Help 82
Summary 87
Review Questions 88
Chapter 3 Introduction to Managed Code 89
Topics Covered in This Chapter 89
What Is Managed Code? 89
Introduction to Object-Oriented Programming 91
Exploring the .NET Framework 108
VSTO and Managed Code 120
Summary 126
Review Questions 127
Chapter 4 Moving from VBA to VSTO and Visual Basic 2005 129
Topics Covered in This Chapter 129
Moving to Visual Basic 2005 129
New Features of Visual Basic 2005 130
Language Differences of VBA and Visual Basic 2005 140
UserForms Versus Windows Forms 152
Summary 170
Review Questions 170
Part II Word and Excel 171
Chapter 5 Customizing Word and Excel Task Panes 173
Topics Covered in This Chapter 173
What Is a Task Pane? 173
Customizing the Document Actions Task Pane 175
Managing the Actions Pane 177
Designing Actions Pane Solutions 180
Creating Context-Sensitive Solutions 194
Summary 204
Review Questions 205
Chapter 6 Customizing Word with VSTO 207
Topics Covered in This Chapter 207
Programming in Word 207
Word Host Items and Host Controls 218
Data Binding to Host Controls on Documents 233
Programming Against Events 240
Special Enhancements to the Bookmark 265
Making Word Documents Smart 269
Summary 270
Review Questions 271
Chapter 7 Customizing Excel with VSTO 273
Topics Covered in This Chapter 273
Programming in Excel 273
Excel Host Items and Host Controls 285
Data Binding to Host Controls on Worksheets 308
Programming Against Events 320
Making Excel Smarter 348
Summary 349
Review Questions 350
Chapter 8 Controls in Word and Excel 351
Topics Covered in This Chapter 351
About Controls 351
Adding Controls to Toolbars and Menus 352
Using Windows Forms Controls 365
Adding Controls to a Windows Form 378
Adding Controls to the Task Pane 388
Adding Controls to Excel and Word Documents 390
Summary 415
Review Questions 416
Chapter 9 Smart Tags in Word and Excel 417
Topics Covered in This Chapter 417
What Is a Smart Tag? 417
Creating Word and Excel Smart Tags with VSTO 422
Understanding Smart Tag Properties 426
Taking Action on a Smart Tag 428
Introduction to Regular Expressions 436
Overriding Smart Tag Recognizers 446
Summary 455
Review Questions 455
Part III Outlook and Beyond 457
Chapter 10 Creating Add-ins for Outlook with VSTO 459
Topics Covered in This Chapter 459
Application-Level Customizations Using VSTO 459
Outlook Object Model Overview 475
Customizing Menus and Toolbars in Outlook 482
Debugging Add-ins 486
Security in Outlook Add-ins Created with VSTO 492
Summary 496
Review Questions 497
Chapter 11 Security and Deployment 499
Topics Covered in This Chapter 499
VSTO Security Model 499
Deploying Word and Excel Solutions 505
Deploying Outlook Solutions 528
Summary 529
Review Questions 529
Chapter 12 Migrating VBA Solutions to VSTO 531
Topics Covered in This Chapter 531
Migration Overview 531
Migration Strategies 532
Simple Migration of a Word VBA Project 534
Advanced Migration of a Word VBA Project 537
VBA and VSTO Interoperability 547
Summary 553
Review Questions 553
Chapter 13 Advanced Topics in VSTO 555
Topics Covered in This Chapter 555
ServerDocument Overview 555
Attaching and Detaching Document-Based Customizations 556
Reading and Writing the Data Cache 560
Clearing the Data Cache 571
Summary 572
Review Questions 572
Chapter 14 VSTO 2005 SE and the 2007 Microsoft Office System 575
Topics Covered in This Chapter 575
Introduction to VSTO 2005 SE 575
Creating Add-ins 584
Customizing the Ribbon 585
Creating Custom Task Panes 622
Creating a Custom Form Region 638
Summary 650
Review Questions 650
Appendix A Creating Code Snippets 651
Appendix B Creating Inspector CommandBars 657
Index 665