David Shank
June 10, 1999
Welcome to Office Talk, the newest addition to MSDN Online Voices. As the new kid on the block, I feel obliged to answer the flurry of questions I've had about this column. Basically, they all come down to this: What the heck is "Office Talk," and who is doing the talking?
To answer the second question first, my name is David Shank, and I'm the proud co-author of Microsoft Office 2000/Visual Basic Programmer's Guide. My colleagues and I spent the past several months documenting the new features in Microsoft® Office 2000, sweating it out with the developers and testers when feature performance did not match specs. We wrote and rewrote as features changed, disappeared, or reappeared, and we learned a lot about Office 2000 in the process.
To answer the first question, I found that office talk means different things to different people, from a hallway conversation about last night's ballgame to speculation about the latest company reorganization. Some do their office talking about the men or women they work with, would like to work with, or would like to ... well, you get the picture. But gossip and idle chit-chat is not what we are here for.
In this column I will talk about developing custom solutions using the applications, components, and technologies in Microsoft Office. I'll give real-world, practical information and sample code you can use right away to help you understand and work with the powerful technologies available to you in Office. I'll use the term "Office developer" to refer to anyone who creates custom solutions that are in any way based on one or more Office applications or any of the Office components. A custom solution may be something as basic as a few simple VBA procedures you can use to streamline the creation of a document, or as sophisticated as an application that involves Web publishing and collaboration. That's an intentionally broad definition, because there is a common thread across all levels of developer experience: These developers all work with and take advantage of the programmability features available in the Office applications and components.
I'll also tell you where to find any additional resources you'll need to take full advantage of the power that Office delivers. Let's face it, MSDN Online is a vast resource, an amazing place where you could spend hours browsing through the library or visiting different parts of the site. In fact, I highly recommend you take the time to do so, someday. But I've been told that what you really need when you come here is specific information to help you quickly solve specific problems. So, in addition to giving you information, advice, and sample code, I'll highlight other Office developer resources.
So let's get on with Office Talk. With the release of Office 2000 and Microsoft Office 2000 Developer (MOD), this is a big month for Office developers. In addition, the launch of the MOD Web site on MSDN and the changes to the Office Developer Forum mean you can find new feature information and technical content on working with Office and MOD. Finally, you can rely on the Office Update Web site (http://officeupdate.microsoft.com/) for up-to-date information about Office.
With the release of Microsoft Office 2000, developers have an incredibly powerful set of applications, tools, and technologies at their disposal. Here's a first pass at the new features.
The enhancements to Office that are of interest to developers can be broken down into five main categories:
Visual Basic® for Applications (VBA) is now present in every Office application. Yes, even Outlook® and FrontPage® now support VBA and the Visual Basic Editor. In addition, you now use the Visual Basic Editor to write code in Access just as you are used to doing in the other Office applications. There have been some additions to the object models for each Office application, such as the Script object and the FeatureInstall property. These changes let you work with script and HTML in an Office document and set properties that determine how the new Microsoft Installer technology affects your custom applications. All applications now support additional application-, document-, and window-level events—such as the DocumentBeforeSave event or the WindowActivate event. There have also been significant additions to VBA itself that will make your life much easier.
You can now digitally sign an Office document. Once you (or your users) indicate that you trust the source of the digital signature, you can set the macro security level to High and the Macro Security Warning dialog box will not be displayed. If any person or program modifies the code behind a document signed by a trusted source, the digital signature is invalidated, and the Macro Security Warning dialog box will appear. For the most recent information on macro security in Office, see the Office Update Web site at http://officeupdate.microsoft.com/.
Microsoft Office includes support for ActiveX® Data Objects (ADO) version 2.1. ADO is Microsoft's high-level interface to all kinds of data, providing consistent, high-performance access to data. You can use ADO from within any Office application, and it is the default data interface for new Access 2000 databases.
If you are used to working with Data Access Objects (DAO), there is also a new version of DAO available that you can also use. Any DAO code written in previous versions of Office will continue to work in Office 2000.
Microsoft Access also supports the Microsoft Data Engine (MSDE), a new technology that provides local (or remote) data storage that is compatible with Microsoft SQL Server™ 7.0.
Several new features in Microsoft Office make it easier to create documents designed to be viewed using a browser:
Last, but certainly not least, all Office applications now support a unified add-in model that lets you create and implement add-ins in one or more Office applications. These are called Component Object Model (COM) add-ins, and they can be created with any development tool that supports COM objects, such as Visual Basic (versions 5.0 and 6.0), Microsoft Visual C++®, and Microsoft Visual J++®. In addition, for the first time, you can also use VBA with Microsoft Office 2000 to create the DLL that is a COM add-in designed to work with Office applications. The adoption of the unified add-in model not only allows you to use the same technology to create add-ins for each Office application, but also lets you create a single add-in that can run in multiple Office applications.
In the coming months I will delve deeper into many of these new features and provide additional references so you can take full advantage of them quickly. In the meantime, you can find a detailed discussion of all of these features in the Microsoft Office 2000/Visual Basic Programmer's Guide (OPG). The OPG is a significant part of the in-the-box documentation for MOD and is also available from Microsoft Press at http://mspress.microsoft.com/books/2320.htm.
To further extend the development capabilities of Office, Microsoft now offers Microsoft Office 2000 Developer (MOD) at http://msdn.microsoft.com/officedev/. This version of Office 2000 includes Microsoft Office 2000 Premium, as well as tools, utilities, documentation, and samples that allow developers to do everything from creating COM add-ins using VBA to sharing reusable components across teams. In fact, MOD contains everything a developer needs to create and deploy sophisticated custom solutions that run in Microsoft Office.
Long the premier online resource for Office developers, the Office Developer Forum (ODF) is moving to MSDN. Same comprehensive set of technical articles and sample applications related to Office development, increased exposure to all varieties of developer, closer proximity to major developer resources. The move is still in progress, but you can see the results of the transformation at http://msdn.microsoft.com/officedev/technical/articles.asp. You'll want to add this location to your list of Favorites for future reference. The URL for the old Office Developer Forum has been redirected to this new location, but all the great content you are used to seeing will still be available.
If you can't get the information you need about Office development from the resources I have discussed so far, consider the Office Developer Online Special Interest Group (OSIG) at http://msdn.microsoft.com/officedev/technical/osig.asp. The OSIG hosts a virtual online community of Office developers who have made themselves available to answer your specific questions. In addition, the OSIG offers online chats on topics of interest to Office developers, as well as information on training and certification and developer events.
The resource of the month is the Office Update Web site (http://officeupdate.microsoft.com/), where you can get product updates, add-ins, templates, utilities, patches, and material on both Office 2000 and Office 97.
That's it for now. There is a lot of stuff for you here, and all of it is new. If you are not using or interested in the brand-new stuff in the latest version of Office, have patience. This column will also talk about the solutions to some of the perennial developer issues, and sooner or later I'll get to all of them. Talk to you next month.
David Shank is a Programmer/Writer on the Office team specializing in developer documentation. Rumor has it he lives high in the mountains to the east of Redmond and is one of the few native northwesterners still living in the northwest.