Overview of Office 2003 Developer Tools and Programs

 

Microsoft Corporation

Published September 2004
Revised December 2005

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

Summary: One of two articles, this overview of Office 2003 Editions describes the newer tools and programs that help enable solution developers to build custom solutions incorporating programs from Microsoft Office 2003 Editions. Read this article to begin to understand the new development tools available for Office 2003 Editions and the types of solutions you can create with them. (15 printed pages)

Contents

Introduction
InfoPath 2003
Visual Studio
Visual Studio Tools for the Microsoft Office System
Information Bridge Framework
Access 2003 Developer Extensions
Conclusion
Additional Resources

Introduction

Microsoft has a long history of innovation with regard to delivering tools for developers to build custom solutions that extend Office. As previous Office technologies have made developers more productive, Microsoft continues to focus on ensuring that Office is a leading-edge solutions platform for professional developers of all levels and skills. Microsoft advances that commitment with Office 2003 Editions, enabling you to use it across the enterprise by exposing new interfaces, extending support for open standard technologies, and allowing you to make choices with regard to tool sets, languages, and application architectures.

This is one of a two part series that reviews tools and technologies for use when developing custom solutions that take advantage of Office 2003 Editions. For more information, see Overview of Office 2003 Developer Technologies.

InfoPath 2003

InfoPath 2003 is a new program in the Microsoft Office System that allows developers to build rich, dynamic forms easily with which organizations can capture information in an industry standard XML format. The collected information can be integrated with a broad range of business processes and business systems because InfoPath supports any customer-defined XML schema and integrates with Web services. InfoPath provides a WYSIWYG design environment that builds off an XML schema or data source to simplify the form layout. InfoPath forms can include data and business rule validation, conditional formatting, rich text fields, optional and repeating elements, ActiveX controls, and custom code developed with Visual Studio .NET. InfoPath forms can be deployed by using a shared network folder or Web server, integrated with a Windows SharePoint Services form library, or sent by e-mail. Solutions can be kept up-to-date using silent and automatic downloads. Users of InfoPath solutions must have InfoPath on their desktops, and InfoPath forms can be used off-line, unlike Web forms.

InfoPath 2003 Benefits

For users, InfoPath forms have the familiar feel of an Office interface, including rich interactive controls and authoring features like the spelling checker, font formatting, and other familiar tools. Forms are dynamic, allowing optional sections and repeating structures that allow users to enter information efficiently that they want to capture. Organizations can be sure that captured information is valid through enforced data types and business rules. InfoPath forms can save data offline allowing users to fill out forms that are more complex conveniently on their computers, over time, and submit them to a process when connected.

Developers can easily build InfoPath forms based on existing data sources such as a custom XML schema using a WYSIWYG form designer. Straightforward wizards make it easy to add rules and customized formatting to a form to create a good user experience and ensure data is captured as needed. Developers can deploy InfoPath solutions from a server providing silent and automatic downloads to be sure that users always have the most up-to-date form. Rich programmability with Visual Studio .NET allows robust enterprise solutions to be built to use the benefits of the .NET Framework.

InfoPath 2003 Technology

InfoPath 2003 is a desktop program for creating rich forms-based solutions for capturing information. InfoPath contains a design and runtime environment. You must install it on the desktop of those who will use the forms. InfoPath 2003 Service Pack 1 (SP 1, released July 2004) adds a number of key development features, some of which are described in this section.

You can design InfoPath forms based on custom-defined XML schema, an XML data file, an industry standard Web service or ADO record sets from Access or SQL Server. InfoPath automatically applies data-type and structural validation based on whatever schema information it has. You can also begin with a blank form and insert controls as needed. In this case, InfoPath automatically creates a schema in the background that you can modify later, if necessary. InfoPath does not have its own file format. Data entered in InfoPath forms is saved as XML in the schema that was used to create the form.

InfoPath provides an easy-to-use WYSIWYG design mode that lets form developers design or modify form templates without writing any code. InfoPath supports a rich set of controls and layout capabilities and provides default suggestions based on the underlying schema data types.

You can customize InfoPath form solutions programmatically using the Microsoft Office InfoPath 2003 Toolkit for Microsoft Visual Studio .NET. The toolkit provides language support for writing managed code including C, Microsoft Visual C#, Microsoft Visual C++ and Visual Basic .NET, or using the Microsoft Script Editor with the Microsoft JScript and Microsoft Visual Basic Script (VBScript) languages. InfoPath includes a robust object model that you can use to interact with the application, its forms, and the data that the forms contain. InfoPath also implements a number of events that you can use to respond to an application state, to user-initiated action or to changes in a form's underlying XML document.

A complete InfoPath solution consist of a number of files, including XML schemas, XML templates and files for view, presentation, script, and custom business logic. All these files are packed into a CAB file with an .xsn extension. One of the files is an XML file called the form definition file that serves as a manifest to describe how to construct, use, and deploy the form. InfoPath automatically creates this manifest when you design a form, but you can also modify it manually for additional control over the solution behavior.

An InfoPath form solution is tied to a particular XML schema and you can use it to open any XML document that complies with that schema. Saved XML documents include a PI (XML processing instruction) that identifies the corresponding template solution so that you can move the document around and you can still open it with that same form template.

For processing the captured information, InfoPath interoperates with any server that is accessible through Web services, including those using ADO.NET. InfoPath also has built-in support for Access and SQL Server databases using ADO and for submitting XML data over HTTP. In addition to built-in features, you can write custom code to retrieve and submit XML data. Additionally, you can use InfoPath with form libraries in Microsoft Windows SharePoint Services for enhanced workgroup collaboration, or just save an InfoPath XML file to the local computer.

The native support in InfoPath for generic XML documents makes it easy for companies to integrate InfoPath forms into workflow processes. Microsoft BizTalk Server is a natural choice for integration because both use XML as their basis. You can post data to BizTalk using built-in support for saving XML data through HTTP, Web services, and e-mail. You can likewise easily retrieve data from BizTalk in a number of ways. InfoPath includes support for using BizTalk Server 2004—Human Workflow Services in the InfoPath design environment to encode workflow rules based on user roles.

You can deploy InfoPath solutions as "sandboxed" solutions or trusted solutions. "Sandboxed" InfoPath solutions do not have access to any resources of the local computer since they follow the same security model as Web pages in Internet Explorer. They are identified by URL and saved locally in an InfoPath cache. If the sandboxed solution needed for a form is not installed, it is downloaded silently in the background. Trusted solutions require a client install, are identified by URN, and require explicit upgrades.

InfoPath also provides rich digital signature support for XML documents using the XML DSIG standard from W3C. When adding a digital signature to an InfoPath form, the user is prompted to select from the digital certificates that are available for signing. InfoPath supports verifiable, non-repudiable signing, partial signing, co-signing, and counter-signing. Users can sign separate sub-sections of the form and verify signatures upon opening an InfoPath form.

Suggested Next Steps

Visual Studio

Visual Studio is a complete set of development tools for building desktop applications, Web services, ASP.NET Web applications, and mobile applications. Visual Basic, Visual C++, C#, and Visual J# all use the same integrated development environment (IDE), which allows them to share tools and facilitates in the creation of mixed-language solutions. In addition, these languages use the functionality of the .NET Framework, which provides access to key technologies that simplify the development of applications and Web services.

You can use Visual Studio to build solutions with Office 2003 Editions, benefiting fully from the streamlined and productive development environment that Visual Studio provides. The Office-related solutions can also accrue benefits from the .NET Framework. To facilitate this development, Office 2003 Editions include primary interop assemblies (PIAs) for all Office programs as described previously. For Word and Excel development specifically, Visual Studio 2005 Tools for Office, described in the next section, further streamlines the development process and provides more advanced development capabilities. For InfoPath solutions, .NET-based programmability is available through the InfoPath 2003 Toolkit for Visual Studio .NET with language support for writing managed code including C, C#, C++ and Visual Basic .NET. This toolkit is part of Microsoft Visual Studio 2005 Tools for the Microsoft Office System. InfoPath development, including the use of this toolkit, is described in the previous section.

Suggested Next Steps

Visual Studio Tools for the Microsoft Office System

Microsoft Visual Studio 2005 Tools for the Microsoft Office System is a new technology that brings the power and productivity of Visual Studio .NET and the Microsoft .NET Framework to business solutions built on Word and Excel. With this technology, using Visual Studio .NET 2003 and Visual Studio 2005, you can use Visual Basic .NET and C# to write code behind Word and Excel documents. The following two sections review Visual Studio Tools for Office, version 2003 and Visual Studio 2005 Tools for Office.

Visual Studio Tools for Office, version 2003

You can use Visual Studio .NET and Visual Studio Tools for Office, version 2003 to address any number of business scenarios requiring code to execute behind Word and Excel documents. These could involve business logic that manages budget figures in an Excel spreadsheet, or populating a table in a Word document with sales figures obtained using a Web service.

Benefits

Businesses and developers have long benefited from the ability to use VBA to customize Office applications and integrate them with existing data and systems. While VBA continues to be an important part of Office development and benefits from the new features of Office 2003 Editions, Visual Studio Tools for Office, version 2003 provides significant advances in the areas of language choice and innovation, security, deployment, and an integrated development environment (IDE).

With a Visual Studio Tools for Office, version 2003 solution, the end-user receives rich, integrated functionality to use with their Word or Excel document. Although the feel of a Visual Studio Tools for Office, version 2003 solution may be comparable to that of a Visual Basic for Applications (VBA) solution, the network deployment capability and security model help ensure that the end-user's desktop is secure and that the latest version of the solution is always used.

Technology

Visual Studio Tools for Office, version 2003 allows you to build solutions using Visual Studio .NET 2003 that targets Word or Excel documents and templates in Office 2003 Editions. Visual Studio Tools for Office, version 2003 provides full access to the Word and Excel object models, as well as the benefit of Microsoft IntelliSense statement completion when you write code against these object models. You can compose code in Visual Basic .NET or C# that runs from the document or workbook and uses all areas of Visual Studio .NET, including the Server Explorer, Microsoft Windows Forms, ADO.NET data access, and Dynamic Help. Visual Studio Tools for Office, version 2003 solutions are tied to documents or templates; you cannot use this technology to build program-specific code, for example a Word add-in. However, you can use it to provide custom menus and toolbars for use with the associated document.

When you want to test an application, click Start on the Visual Studio .NET toolbar. This starts the Word document or Excel workbook and runs the custom code. Then, you can view the Word or Excel solution and observe the results of the running code. You can also set break points in the code and return to Visual Studio .NET for debugging purposes.

The code that you write is built as a dynamic-link library (DLL) file, which you can deploy to any number of places depending on the specific needs of the solution—a local hard disk, a network share on a corporate intranet, or on a secured Internet site. Code written with Visual Studio Tools for Office, version 2003 is managed code, and uses the built-in security features of the .NET Framework. Indeed, .NET security for Visual Studio Tools for Office, version 2003 solutions is aggressively locked down so that you must use explicit security policy to control whether or not the code is trusted.

You can choose to use the No-Touch Deployment feature of the .NET Framework to facilitate easier deployment and maintenance. If the security checks are in order, when a user opens the Word or Excel file, the computer downloads the DLL from the deployment location to the user's computer and the solution runs. After you deploy a new DLL to the location, the next time a user opens the Word or Excel file, the computer detects that the DLL is updated and downloads and runs the new code automatically. No intervention is required by either you or administrator and the user does not need to download a new version of the file.

Suggested Next Steps

Visual Studio 2005 Tools for Office

Visual Studio 2005 Tools for Office builds upon the capabilities introduced in Visual Studio Tools for Office, version 2003 to help address some of the biggest challenges facing Office solution developers. Visual Studio 2005 Tools for Office brings significant enhancements to development areas including the separation of data and view elements, deployment of Office solution assemblies, server-side and offline scenarios, and seamless integration with the Visual Studio toolset. Visual Studio 2005 Tools for Office also include the InfoPath 2003 Toolkit for Visual Studio 2005 which is discussed in the section on InfoPath development.

Benefits

Visual Studio 2005 Tools for Office significantly increases your ability to develop and deploy Word and Excel solutions. By hosting Excel spreadsheets and Word documents within the Visual Studio IDE, Visual Studio 2005 Tools for Office gives you a streamlined and consolidated environment for building solutions with Word and Excel.

The integration goes deeper, for example, by exposing Office objects as .NET-based controls, listing worksheets in the Solution Explorer, enabling data binding into documents and elevating object model properties through the Properties Window. These features allow professional Visual Studio developers to construct Office solutions more easily by using their existing Visual Studio .NET skills.

Visual Studio 2005 Tools for Office also improves many popular scenarios, such as those using the task pane, and introduces a few new solution scenarios that were previously impossible or simply unsupported. For example, by enabling the concept of a data cache in documents, you can pre-populate documents and reports on a server with timely or personalized information before the user accesses a document.

Technology

In Visual Studio 2005 Tools for Office,, the IDE hosts Excel and Word as designers. You can design Office documents within the Visual Studio environment using the full collection of Windows Forms controls in Excel and Word by simply dragging and dropping managed controls, including third-party controls, from the Toolbox onto the Word or Excel document surface. Double-clicking a managed control in Excel or Word invokes the code view in which you can write customizations inside the auto-generated event handler for that control.

Programming the task pane gives you a way to provide content, tools, and information to supplement the document being created or used. Visual Studio 2005 Tools for Office allows you to instantiate an ActionsPane class which you can then populate with custom Windows Forms user controls. The layout, visibility, and behavior of controls on this task pane are entirely up to you, allowing an extraordinary level of flexibility. Smart document solutions that display content specifically relevant to a user's position within a document are also programmable through the ActionsPane class.

Visual Studio 2005 Tools for Office creates a data-view separation by enabling you to embed data as an XML data island in the document. Some of the data may be viewable in the document; some of it may be hidden. You can update the data directly without having to write code to describe how to format the data in the document. Typed data sets provide a schema-oriented programming model for interacting with the data island, ensuring IntelliSense support for the managed code you write. Data binding between the data island and the view keep the two entities in sync. You can also add validation code to the data that is independent from the document's view components.

Visual Studio 2005 Tools for Office has a runtime capability to open the data island by using a server process without the need to run Excel or Word. You can then manipulate the data island in a document through a lightweight object model from server-side code. You can then read or update the data in the island, including that which is bound to the document view. When the user opens an Office document for which the data bound to the document is changed, the view re-synchronizes with the data island and the user is automatically presented with the updated data. In this model, Excel and Word are not needed to write to the data on the server, but rather only to view it on the client. This update model provides scalability and enables high performance batch processing of documents containing data islands on the server.

Storing data in the data island also provides a mechanism for enabling robust offline scenarios. When a document is first requested from the server or first opened by the user, you can fill the data island with the most recent data. Then, you can cache the data island in the document and make it available offline. The user or custom code can manipulate the data without a live connection. When the user reconnects, you can propagate the changes to the data back to a server data repository.

Visual Studio 2005 Tools for Office also introduces enhancements to the way you programmatically access UI, or view, elements. Elements, such as ranges, lists, bookmarks and mapped XML schema elements become first class controls that you can easily access in code. You can uniquely identify each control. The controls support data binding and provide a more complete event model.

Suggested Next Steps

Information Bridge Framework

The Microsoft Office Information Bridge Framework is a set of tools and technologies that help you use XML and Web services to connect information in documents in Office 2003 Editions to line-of-business systems. It enables you to build solutions providing live, direct connections to enterprise business information that users can employ to make and implement decisions. Information Bridge Framework relies on metadata coming from Web services and a metadata server that feeds into a custom Office 2003 add-in, which presents rich, interactive views of information to users. You can retrieve and present information through the Information Bridge Framework when users interact with specific smart tag menus or move amongst document regions marked by a custom XML tags.

Benefits

Employees in an organization generally need to view, retrieve, and act on line-of-business data and operational information to work efficiently and make the best decisions. However, employees often may not have access to the information or are required to switch contexts and navigate a separate application to get what they need. Moreover, the documents with which they interact contain important business data but do not help them bring up any related content. As a result, users lose time searching and then copying and pasting information in different formats between different applications, without any efficient way to access or reuse information.

With the Information Bridge Framework, data in documents become business objects that are connected to related information and data in business systems. Users can more efficiently bring up related information and perform actions on it without leaving the context of their current work. Users can also establish dynamic links between Office document text and the company's enterprise business objects, making it easier for the next user of the document information to access further content if they need.

Using the Information Bridge Framework, you can build a Web services infrastructure around business systems to expose information in a meaningful and reusable way using metadata to define business objects, relationships between information, related actions, and solution views. This declarative solution model allows an organization to segment solution development between those focused on building a reusable Web services infrastructure and those focused on the domain-specific work of building a business solution.

Technology

The Microsoft Office Information Bridge Framework is a set of software components, tools, and prescriptive guidance that enable you to create solutions that connect programs in the Office 2003 Editions to enterprise systems or applications. You can build Information Bridge Framework-based solutions for Word, Excel, and Outlook.

The Information Bridge Framework architecture uses metadata to express the relationships between Web services, business entities and views, operations, and user-interface elements. Metadata is information or data that is created as line-of-business applications expose their information as Web services. After metadata is described through XML, a solution developer can use specialized designer tools to create customized Office solutions that present back-end information in custom usable ways directly in an application in Office 2003 Editions.

The components of Information Bridge Framework are as follows:

  • Prescriptive design guidelines for building Web services and defining metadata. You can reuse existing Web services or build new ones. The Web service guidelines describe how you can add metadata to Web services and how you can design Web services to serve as more effective content providers to Information Bridge Framework solutions. The metadata allows multiple Web services to expose data, views, and actions embodied by line-of-business applications as a unified model and in a standardized way. It effectively describes a particular solution's views and actions.
  • Metadata Designer. A plug-in for Microsoft Visual Studio .NET that creates and manages solution metadata. The Metadata Designer also allows solution creators to configure how enterprise data and operations appear to the user through transforms to HTML or custom Windows Forms.
  • Metadata Service. Provides the metadata from a metadata database in SQL Server 2000 to the client-side engine.
  • Client component. Orchestrates the custom solution by interacting with Microsoft Office programs, calling Web services, and displaying the data returned by these Web services.

A request for displaying information is initiated either manually by the user selecting smart tags or automatically as the user enters a predefined, XML-tagged region. The client engine retrieves and interprets metadata for the request from its local cache, or through a request to the Metadata Service to determine what operations need to occur. The engine then retrieves needed information or executes actions using one or more Web services, creates a view including context-specific actions and navigational elements for retrieved information and displays the result. The resulting display is presented to the user through a programmable task pane or a pop-up Windows Forms window.

You can control both the available views and available actions based on the user's role or authentication credentials through integration with the Microsoft Active Directory directory service. In this way, you can tailor solutions to align with a company's unique data structures, computing environment and business processes.

Suggested Next Steps

Access 2003 Developer Extensions

Microsoft Office Access 2003 is a powerful platform for developing robust database solutions. In addition to the new development features in Access, the Access 2003 Developer Extensions provide additional tools and resources to help you more quickly and easily create, test, and deploy Access solutions. Access 2003 Developer Extensions are part of the new Visual Studio Tools for the Microsoft Office System software package. For more information, see How to Buy: Visual Studio Tools for the Microsoft Office System.

Access 2003 Developer Extensions Benefits

New tools for packaging and deployment facilitate the process, while licensing and distribution agreements make it easier for you to bring solutions to market, whether to a small business or a large enterprise, as a third party or internal developer.

The Access 2003 Developer Extensions licensing allows for royalty-free distribution of Access Runtime solutions and Access Data Projects, and free use and distribution of portions of the tools source code as part of your solutions.

Access 2003 Developer Extensions provide a set of tools for Access solution developers that can reduce the amount of tedious work required in building Access solutions and streamline the production environment. The features described help reduce testing obstacles and produce higher-quality solutions.

Access 2003 Developer Extensions Technology

Access 2003 Developer Extensions include the Package Wizard that helps you create professional setup routines for Access solutions. The wizard automatically includes the Access Runtime files, if selected, along with the Access 2003 solution files that make up the solution. The resulting setup uses the standard Windows Installer (MSI) for the installation routine and can create shortcuts for the solution that use the appropriate Access .exe file in cases where two different versions of Access are installed. You can easily customize setup routines created with the Package Wizard through the Windows Installer scripting language and by using any third-party tools that support Windows Installer files.

A common, tedious task when developing a solution can be the need to change the name of a feature or UI object that cascades throughout the solution. The Property Scanner Add-In allows you to search globally throughout an Access solution for custom strings. The tool searches all the properties or code in tables, queries, forms, reports, and modules—nearly all objects within Access are searched. When the search completes, the Property Scanner Add-In provides a search results list and enables you to jump directly to the object in which the custom string is located.

To prepare for packaging, the Custom Startup Wizard helps you create an MDE file, which is an Access solution (MDB file) that is stripped of all source code. MDE files provide a secure solution that you can then distribute among one or more customers. To use this tool, you simply need to specify the original solution, the destination database, and by additional options and startup settings. Everything else is automatic, saving you much time at the end of a development cycle.

Access 2003 Developer Extensions include the complete source code for the tools included in the product, such as the Property Scanner Add-In, Custom Startup Wizard, and the Package Wizard. Each of these tools is written in Microsoft Visual Basic for Applications (VBA). You can create customized versions of these tools for your own benefit or to meet the needs of their enterprises.

Suggested Next Steps

Conclusion

Microsoft Office 2003 Editions offers the latest innovations for delivering rich solutions targeted at one of the world's most popular software programs. With XML and Web services, Office 2003 Editions becomes a highly connected platform to share data between applications, among processes, across enterprises and beyond. With intelligent and extensible technologies including Smart Documents, smart tags, programmable task panes and a suite-wide research library, Office continues to equip you to build applications for any audience of users that satisfy a wide range of business needs.

Finally, Office 2003 Editions offer a professional development environment that builds on your knowledge and skills; simplifies deployment and management; and provides rich functionality, options, and choices. Office 2003 Editions offers innovative tools for building intelligent business applications.

To continue learning about innovations available for custom solutions using Office 2003 Editions, see Overview of Office 2003 Developer Technologies.

Additional Resources

This section reviews the additional resources recommended throughout this document.

InfoPath 2003

Visual Studio

Visual Studio Tools for Office, version 2003

Visual Studio 2005 Tools for Office

Information Bridge Framework

Access 2003 Developer Extensions

© Microsoft Corporation. All rights reserved.