Best of Blogs: Visual Studio 2005 Tools for Office

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

Kathy Schuler, InDepth Technology

Tony Birdsey, InDepth Technology

Updated: May 2006

Applies to: Microsoft Visual Studio 2005 Tools for the Microsoft Office System

Summary: Expert developers blog about their personal experience of designing, implementing, and deploying Visual Studio 2005 Tools for Office solutions for Word and Excel. Check out some of the best articles we found. (11 printed pages)

Contents

  • Introduction to Visual Studio 2005 Tools for Office

  • Blog Articles

  • Additional Resources

Introduction to Visual Studio 2005 Tools for Office

Microsoft Visual Studio 2005 Tools for the Microsoft Office System (Visual Studio 2005 Tools for Office) offers an important update to the previous version by supporting Microsoft Visual Studio 2005 and the Microsoft .NET Framework 2.0. This version continues to offer developers a robust platform for smart client development with Microsoft Office Excel 2003 and Microsoft Office Word 2003. Visual Studio Tools for Office enables developers to combine Microsoft Office 2003 Editions with the Microsoft .NET Framework 2.0 as a platform upon which to build and deploy complete business solutions using the full power of Microsoft Visual Studio 2005. Visual Studio Tools for Office helps make rich client application development on the Microsoft Office System more secure, more reliable, and faster by using Visual Studio to create document-centric solutions that run with Excel and Word. You no longer need to spend valuable time writing a formatting or calculation engine. Visual Studio Tools for Office taps into the stable and robust engines contained in Word and Excel.

Additionally, applications built with Visual Studio Tools for Office are easier to deploy, maintain, and upgrade than previous Microsoft Office programming models. You simply create applications as Visual Studio projects and then generate managed assemblies. Then you can save the solution assemblies on a server for central deployment and upgrade management.

Since the Beta 1 version of Visual Studio Tools for Office was released, bloggers have been discovering and writing about how to design, implement, and deploy Visual Studio Tools for Office solutions for Word and Excel. We have compiled links to many of the best blog articles we found.

Background

Since we started aggregating blogs for conferences such as Microsoft Tech·Ed and Microsoft Professional Developers Conference (PDC), our system has collected more than 1 million articles from more than 1,000 bloggers. Please see:

Of those articles, we carefully selected nearly 10,000 of the best articles for our feeds. Those articles, written by the community for the community, have helped connect individuals and teams with the resources they need to build better software.

The Power of Blogs

There are generally two types of blogs: personal and group. Personal blogs are an individual's journal or diary, maintained and published on the Internet. Group blogs consist of a group of people writing about their experience surrounding a common interest. A friendly, conversational style is usual for both types. In addition, many blogs allow readers to post comments and respond to polls to increase community interactions.

Blogs offer developers a powerful new tool for gathering important technical information. You can learn compelling techniques from experts, discover valuable insights from your peers, and even encourage change by offering your comments about a product. Today, you must read blogs to keep ahead of the curve.

A frequent question is "Where do I start?" While an Internet search will return hundreds, if not thousands, of potential candidates, sifting through the results can be daunting. So, for your convenience, we summarized the Best of the Blogs: Visual Studio 2005 Tools for Office.

Methodology

Our methodology for selecting the blog articles for this list was quite simple. We searched for blogs that mentioned Visual Studio 2005 Tools for Office in our own directory of bloggers and used popular search tools like MSN, Google, and Feedster. Then, we analyzed the content of the blogs that matched our criteria to reveal the articles that provide the best technical insight and information.

Blog Articles

We divided the blog articles into categories, and we introduce each article with a short paragraph describing the content of the entry. We updated the terminology in our short descriptions to match the final version of Visual Studio Tools for Office. Some of the referenced blog entries were created prior to this release, and use outdated feature names. For example, you might see a reference to "view" or "view control" in older blog entries; these features have since been renamed "host item" and "host control."

Architecture of Visual Studio Tools for Office Solutions

This category contains blog articles from developers and architects who discuss how Visual Studio Tools for Office works. Also included are blog articles about how managed code works with Microsoft Office documents.

Programming Models in Visual Studio 2005 Tools for Office

Author: Eric Carter

Summary: Eric describes how Visual Studio Tools for Office provides both a view model and a data model for working with the values in Microsoft Office documents.

An Introduction to Host Controls

Author: Eric Carter

Summary: This article is an introduction to the host controls available in Excel and Word for solutions created by using Visual Studio 2005 Tools for Office. Eric explains how the controls work, what the advantages of the controls are, and how to bind the controls to data sources.

Managed Controls Support

Author: Eric Carter

Summary: Eric gives a detailed explanation of how Visual Studio Tools for Office makes managed controls work with Word 2003 and Excel 2003 documents.

The WinForms.Control.Host Object

Author: Eric Carter

Summary: Eric continues his description of how managed controls work in Visual Studio Tools for Office solutions by explaining the purpose of the WinForms.Control.Host object in Excel documents.

Data Caching for Offline Scenarios

Author: Paul Cornell

Summary: This article presents two scenarios that can use Visual Studio Tools for Office and the ability to cache data in Microsoft Office documents. The first scenario is enabling Visual Studio Tools for Office solutions for offline use by using cached data when a data source is not available. The second scenario enabled by the data cache is the ability for server-side processing of Office documents without installing Microsoft Office.

Embedded Data Islands in Word and Excel

Author: Paul Cornell

Summary: Paul explains how embedded data islands and application manifests differ between Word and Excel documents saved in their XML formats (WordprocessingML and Excel XMLSS).

Parameterized Properties in C#

Author: Eric Carter

Summary: Eric gives an in-depth explanation of parameterized properties in C# and why C# developers use properties like Value2 in Excel documents instead of the related parameterized properties.

Saving a Custom Toolbar's Position

Author: Sue Mosher

Summary: Sue demonstrates creating and customizing toolbars in Microsoft Office Outlook using Visual Studio Tools for Office while providing best practices for working with Outlook COM add-in toolbars. Her article includes Microsoft Visual Basic code for extending a class with the Partial keyword, creating a custom toolbar and button in an Outlook Explorer window, and using user-scoped settings in Visual Studio 2005 to save and restore the toolbar's position information in a user.config XML file.

Resizing the Actions Pane

Author: Kathleen McGrath

Summary: Kathleen gives a detailed explanation, with code, about how to resize the Document Actions task pane using the width of the user control.

Simulating Application-Level Programmable Task Panes

Author: Kathleen McGrath

Summary: In this article, Kathleen explains how to simulate an application-level programmable task pane for a Microsoft Office Word solution using Visual Studio Tools for Office.

Common Programming Tasks in Visual Studio Tools for Office

This category contains blog articles from developers and architects who discuss common programming tasks, problems, and solutions using Visual Studio Tools for Office.

Bookmark Host Controls

Author: Kathleen McGrath

Summary: Kathleen explains how the Visual Studio Tools for Office Bookmark control enhances the existing Bookmark object and makes it easier to use bookmarks in development. She lays out the difference in behavior between the native Bookmark object and the Visual Studio Tools for Office Bookmark control.

Adding Controls at Run Time

Author: Eric Carter

Summary: Visual Studio Tools for Office allows applications to add managed controls and host controls to a document at run time. Eric demonstrates how to add controls dynamically.

Visual Studio 2005 Tools for Office Task Pane Support for Managed Controls

Author: Mark Bower

Summary: Mark provides options for using managed controls in the actions pane.

Calling Managed Code from Microsoft Visual Basic for Applications

Author: Paul Stubbs

Summary: Paul provides sample code that shows how to call managed code from Microsoft Visual Basic for Applications (VBA).

Creating HTML Actions Panes for Word and Excel Using Visual Studio 2005 Tools for Office

Author: Paul Stubbs

Summary: Paul explains how to use a Web page as an actions pane.

Using Dynamic Cascading Style Sheets for Actions Panes in Office

Author: Paul Stubbs

Summary: Paul provides sample code that shows how to use cascading style sheets for an actions pane that displays a Web page. The example code provides a fast and effective way of changing the look and feel of your actions panes.

Deploying Visual Studio Tools for Office Solutions

This category contains blog articles related to deploying Visual Studio Tools for Office solutions.

Deploying a Document and an Assembly to Different Local Folders

Author: McLean Schofield

Summary: This is the first in a series of blog posts from McLean that include quick-start tips for deploying Visual Studio Tools for Office solutions for Word and Excel. In his first tip, he demonstrates how to deploy the document and the assembly to the same folder on the destination computer. He adds the steps for setting up security policy. These are simple scenarios that do not use the Publish Wizard or deployment manifests.

Deploying a Document and an Assembly to Different Local Folders

Author: McLean Schofield

Summary: This is the second quick-start tip from McLean. Here he demonstrates how to deploy the document and the assembly to different local folders on the destination computer. He adds the steps for setting up security policy.

Deploying a Document to a Local Folder and an Assembly to a Network Folder

Author: McLean Schofield

Summary: In this third quick-start tip of the series, McLean explains how to deploy the solution so that the document is on the destination computer and the assembly is in a folder on a remote computer. He includes the steps for granting full trust to the assembly and the document using the .NET Framework 2.0 security policy.

Deploying a Document and an Assembly to a Network Folder

Author: McLean Schofield

Summary: In this fourth quick-start tip, McLean explains how to deploy the solution so both the document and the assembly are in a folder on a network computer. He adds the steps for setting up security policy.

Deployment Models and Proposed Solutions

Author: Misha Shneerson

Summary: Misha references two excellent articles on Visual Studio Tools for Office setup. The first article is an overview of the Visual Studio Tools for Office deployment models and proposed solutions. The second article is a walkthrough with code samples.

Choosing the Right Technology

This category contains blog articles relating to choosing the right tool for Microsoft Office development tasks.

Visual Studio 2005 Tools for Office and Smart Documents

Author: Andrew Whitechapel

Summary: Andrew explains how Visual Studio Tools for Office relates to smart documents. In this article, he describes how the actions pane hides the details of implementing an ISmartDocument interface.

Choosing the Right Technology for Smart Documents

Author: Joe Andreshak

Summary: In this article, Joe provides guidance on how to choose from among the different technologies when you create a solution that includes Microsoft Office. The technologies considered include Visual Studio 2005 Tools for Office, the ISmartDocument interface, and the Microsoft Office Information Bridge Framework.

Visual Studio 2005 Tools for Office or InfoPath

Author: Kevin Schultz

Summary: Kevin points out the differences between Visual Studio Tools for Office and Microsoft Office InfoPath and when you might choose one or the other to provide a rich client experience for data entry and manipulation.

Creating Smart Tags for Word and Excel Using Visual Studio 2005 Tools for Office

Author: Paul Stubbs

Summary: Paul demonstrates how the difficult Office development task of creating smart tags has been made easier with Visual Studio Tools for Office.

Video Tutorials

This category contains pointers to downloadable product demos in video format.

Video Tutorial: How to Change Controls on the Actions Pane

Author: Kathleen McGrath

Summary: Kathleen shows you how to change controls on the actions pane according to user context. She demonstrates how to map XML elements to a Word document and how to write code against the ContextEnter, ContextLeave, and Select event handlers of an XMLNode control. This demo is nine minutes long.

Video Tutorial: How to Set the Stack Order of Controls on the Actions Pane

Author: Kathleen McGrath

Summary: Kathleen shows you how to add multiple actions pane controls to the actions pane. She also shows you how to control the stack order of the controls on the actions pane from a custom user control that is added to the document. This demo is just over eight minutes long.

Video Tutorial: How to Add Controls to the Actions Pane

Author: Kathleen McGrath

Summary: Kathleen shows you how to add multiple Microsoft Windows Forms controls to the actions pane using the new actions pane control. This demo is six minutes long.

Video Tutorial: How to Resize Excel Controls

Author: Kathleen McGrath

Summary: Kathleen shows you how to resize Excel controls (the NamedRange and ListObject controls) at design time and at run time. The demo is approximately five minutes long.

Video Tutorial: How to Persist Column and Row Order in a Data-Bound List Object

Author: Kathleen McGrath

Summary: Kathleen shows you how to persist the row and column order of a data-bound ListObject control. The demo is five minutes long.

Video Tutorial: How to Add Custom User Controls to Documents

Author: Kathleen McGrath

Summary: Kathleen shows you how to create a custom user control so that you can add it to your document by dragging the control from the Toolbox. The demo is five minutes long.

Video Tutorial: How to Resize Controls Within Worksheet Cells

Author: Kathleen McGrath

Summary: Kathleen shows you how to set a property of a Windows Forms control on an Excel worksheet so that the control automatically resizes when you resize the worksheet cell. This demo is six minutes long.

Video Tutorial: How to Locate and Delete NamedRange Controls

Author: Kathleen McGrath

Summary: Kathleen shows you how to locate Excel NamedRange controls and delete them from your document. The demo is four minutes long.

Video Tutorial: How to Set the Flag Icon for E-Mail Items That Have Attachments in Your Outlook Inbox

Author: Kathleen McGrath

Summary: In this five-minute demo, Kathleen shows you how to set the flag icon of e-mail items that have attachments.

Video Tutorial: How to Use Visual Studio 2005 Tools for Office Help

Author: Paul Cornell

Summary: In this five-minute demo, Paul shows you how to use Help in Visual Studio to learn about Visual Studio 2005 Tools for Office.

Video Tutorial: How to Add Smart Tags to Word

Author: Kathleen McGrath

Summary: Kathleen shows you how to add a smart tag to a Word document in this seven-minute video demonstration.

Video Tutorial: How to Bind Data to Controls on a Word Document

Author: Kathleen McGrath

Summary: In this five-minute video demo, Kathleen shows you how to bind data to controls on a Word document.

Video Tutorial: How to Bind Data to Controls on an Excel Worksheet

Author: Kathleen McGrath

Summary: In this six-minute video demo, Kathleen shows you how to bind data to controls on an Excel worksheet.

Troubleshooting Visual Studio Tools for Office Solutions

This category contains blog articles with tips for solving common problems encountered when creating Microsoft Office solutions using Visual Studio Tools for Office.

Installing Both Visual Studio Tools for Office, Version 2003, and Visual Studio 2005 Tools for Office

Author: Paul Cornell

Summary: You can install Microsoft Visual Studio Tools for the Microsoft Office System, Version 2003, and Visual Studio 2005 Tools for Office on the same computer; however, there are some things to remember when debugging. Paul explains that Microsoft Office loads the most recent version of the .NET Framework, so that debugging solutions built with Visual Studio Tools for Office, Version 2003, requires extra steps.

Spaces in SmartTag.Terms Collection

Author: Misha Shneerson

Summary: Misha explains why the SmartTag.Terms collection should be used only if you need to recognize single tokens. A great code example is included.

Accessing the COMAddins Collections

Author: John R. Durant

Summary: In this post, John answers the question: when automating Outlook from another application, how do you get a reference to an Outlook COM add-in created with Visual Studio Tools for Office? The answer is simple and cool.

Data Binding in a User Control vs. Windows Form

Author: John R. Durant

Summary: In this article, John troubleshoots data binding in a Visual Studio Tools for Office task pane and provides a custom procedure to fill the dataset. He provides a good explanation for the design considerations behind not using the Fill method.

Visual Studio Tools for Office Samples and Walkthroughs

This category contains blog articles about the code examples, sample applications, and systematic walkthroughs referenced in Microsoft documentation or other official Microsoft publications.

XML Host Controls in Word and Excel

Author: Paul Cornell

Summary: Paul provides an example of how Visual Studio Tools for Office can infer an object model from an XML schema. He describes how Visual Studio Tools for Office creates XMLNode controls and XMLMappedRange controls in Excel for elements that are defined in the schema.

XML Host Controls in Word and Excel, Part 2

Author: Paul Cornell

Summary: Paul continues his discussion of XML controls with an example that uses a more complicated XML structure with nested elements. He shows how these elements are accessed in code using the object model inferred from a schema.

Using the Data Sources Window with Visual Studio 2005 Tools for Office

Author: Paul Cornell

Summary: This article is a short tutorial on how to use the Data Sources window in Visual Studio 2005 when creating Visual Studio Tools for Office solutions. Paul walks you through the steps of adding a data source and binding the data source to an Excel NamedRange control.

Questions and Answers About the NamedRange Change Event

Author: Eric Carter

Summary: Eric provides answers to some of the frequently asked questions about the Change event of the NamedRange control in Excel solutions. The answers include some of the things you can and cannot do with the data in the NamedRange control.

How to Convert Dates in Excel

Author: Eric Carter

Summary: In this article, Eric includes a code example that converts a System.DateTime value to and from a Date object in Excel. He explains the complexities that the code is handling during conversion.

How to Create Excel UDFs in Visual Studio 2005 Tools for Office Managed Code

Author: Paul Stubbs

Summary: In this article, Paul identifies the scenarios for calling Visual Studio Tools for Office code from VBA. Paul provides answers to some of the issues in using VBA and Visual Studio Tools for Office. He provides code samples including samples for creating a class with your functions in Visual Studio Tools for Office, wiring up your class to VBA in Visual Studio Tools for Office, creating a hook for managed code, and creating a wrapper for the functions in VBA.

"Inheritance" to Implement "Template-Based" Solutions

Author: mszcool

Summary: This article gives you a solution with sample code that creates templates that inherit behavior and customization assemblies from other templates. This is a good example of a solution that is often needed and has great utility.

Resize Bitmap in the WordprocessingML

Author: John R. Durant

Summary: In this article, John shows how to assemble a WordprocessingML document in code, while making sure embedded images remain a consistent size.

Additional Resources

About the Authors

Kathy Schuler is vice president of InDepth Technology. She has successfully launched popular aggregated blogging sites since 2003. The aggregated blogging sites are created with Ashton, a community network application.

Tony Birdsey is an editor with InDepth Technology. He is responsible for aggregating blog posts from around the world.