Office Interop Cookbook
I haven't been completely idle since TechEd. In fact, I've been working on my book "Developing .NET Solutions with Office" (final title tbc). This is a project that's been ongoing for about 2 years, but it's in the final stages now, and should be out in September (MSPress). Prompted by endless questions from my customers, this covers the full range of techniques you can use to interop between managed code and Office.
Originally designed as a cookbook, with step-by-step instructions, each technique covered is mapped to 4 versions of Office: 97, 2000, XP and 2003. I've used many many techniques to build customer solutions, so there's real world validation of these techniques. In fact, I've even done a few things that I don't generally recommend - and I very deliberately excluded these from the book. I wanted it to cover only best practices. To this end, the various chapters have been tech-reviewed by about 30 people in Redmond (that's serious technical people in Microsoft, as opposed to random people on the street). To give you a flavor, here's the current ToC:
1 Overview
1.1 Version Variations
2 Basics of Office Interop
2.1 Managed Interop Assemblies
2.2 Basic Interop Projects
2.3 Visual Studio .NET Office Interop Wizards
2.4 Interface/Class Ambiguity
2.5 Releasing COM Objects
2.6 VB.NET vs C#
2.7 Debugging Interop Solutions
3 Office Interop Techniques
3.1 Platform Invoke
3.2 Watching Excel Quit
3.3 Using COM by Reflection
3.4 Document Properties
3.5 Connecting to Running Instances
3.6 Office Accessible Objects
3.7 Monitoring Office Applications
4 Integrating Managed Code
4.1 Calling Managed Code From VBA
4.2 Managed CCW in VBA
4.3 Managed Office Accelerators
4.4 Programming the VB Editor
4.5 Office and Managed Windows
4.6 Office Document Browser
4.7 COM Drag+Drop
5 Add-ins
5.1 Managed COM Add-ins
5.2 Simple Add-in Projects
5.3 Multiple Host Applications
5.4 Add-ins and UserControls
5.5 Tactical Add-in Issues
5.6 COM Add-ins as Cell Functions
5.7 Excel Automation Add-ins
6 Smart Tags
6.1 Managed Smart Tags
6.2 Smart Tags and the VSTO Loader
6.3 ISmartTagRecognizer2 and ISmartTagAction2
6.4 MOSTL Smart Tags
6.5 MOSTL Generator
6.6 Troubleshooting Smart Tags
7 Office and Data
7.1 Excel and SQL Data
7.2 Excel and XML
7.3 Excel and OLE DB
7.4 Managed Data Feed
7.5 RealTime Data in Excel
7.6 Sinking Office Events
8 Isolating Managed Extensions
8.1 COM Shim Wizard
8.2 Add-in Shim
8.3 Smart Tag Shim
8.4 Shim Wizard Internals
8.5 Config Files
9 Web Services and Remoting
9.1 SOAP Toolkit
9.2 Managed Web Service Proxies
9.3 WSE Security
9.4 Research Services
9.5 Remoting with Office
10 Visual Studio Tools for Office
10.1 VSTO CodeBehind Assemblies
10.2 Custom Document Properties
10.3 Debugging VSTO Solutions
10.4 Word CodeBehind
10.5 XML Lists
10.6 XML Data Form
10.7 VSTO and Web Services
10.8 VSTO Configs
11 Smart Documents
11.1 Smart Documents Core
11.2 Multiple Target Applications
11.3 Smart Documents and PIAs
11.4 Smart Documents and Smart Tags
11.5 MOSTL Smart Documents
12 Security
12.1 Office Macro Security
12.2 Code Access Security
12.3 VSTO Security
12.4 Strong Naming
12.5 Authenticode Certificates
12.6 VSTO Deployment Options
12.7 Smart Document Security