Office 2007: Professional Edition is the latest version of the set of interrelated desktop applications for the Microsoft Windows operating system. There is a new version for the Mac OS X system called Office 2008, but since that version is not out for Windows at this time, I am addressing the Office 2007: Professional Edition version.
Office 2007: Professional Edition is referred to as an office suite and contains the following applications: Microsoft Word, Excel, PowerPoint, Outlook with Business Contact Manager, Access, Accounting Express, and Publisher. There are several versions of the suite available at different prices and all of the features can be compared on their feature matrix.
Since Microsoft Office is the de facto standard for office productivity suites, and each of the individual products, if not standards in their own right, rank in the tops of most lists, I am diverting the focus of this review toward the development aspects of these products.
We can all find plenty of reviews touting the new features — of what the latest version of Word, Excel, or PowerPoint brings to the table, but that is really only the half of it. Within the Office suite, there are features that can really make product development truly dynamic within your own applications, or even as add-ons to the suite. Office 2007: Professional Edition makes great strides in doing what we could only wish for just a few years ago. Before I go in to this let me highlight some new features of this product as it pertains to developers.
So what is new in Office 2007: Professional Edition?
Please note that as with all suites, there are a certain number of global improvements and Office 2007: Professional Edition is no exception.
• Office Fluent UI – is a new interface that replaces the previous system of layered menus, toolbars, and task panes with a simpler system. It provides updated context menus, enhanced screen tips, a mini toolbar, and new keyboard shortcuts. These are implemented in Access, Excel, Outlook, PowerPoint, and Word.
• Office Open XML – are the new open XML standards on which documents created in Microsoft Office are based. This format is different than the binary format on which past versions were based. Since the standards are open, they are royalty free, interoperable with standard XML processes, more efficient since they use the Zip compression technologies to store documents, and can be made more secure through programmability.
• The Ribbon – is a strip across the top of the window that exposes what the program can do. It consolidates into one place all of your interactions with the program. In prior versions, you might need to look through 3 layers of menus and open many tool bars and task panes to find your item. Now they are all consolidated in the Ribbon. This can even be custom programmed to handle add-ons that you can develop on your own.
Microsoft Word 2007
• Content Controls – are predefined blocks of content that you can position anywhere in the document. These include text boxes, drop-down menus, calendars, and pictures. You can also lock content controls to prevent users for editing or deleting the content. This gives you the ability to control the data that can be entered on a form.
• XML Mapping – gives you the ability to populate portions of a document template with data from an XML file. This will allow you to use the same template and different XML files to pre-populate information. This, used along with the content controls, gives you a lot of power to generate dynamic documents.
• Document Building Blocks – Are predefined pieces of content such as a cover page, header or footer that simplifies the quick assembly of professional looking documents. But even more powerful is the ability to create custom building blocks. You can construct a cover page, but even more useful is tied to the ability to use XML mapping so that when a logo or other item is changed, you do not have to go back and redesign the template.
• Word XML Format – now takes advantage of the Open Packaging Conventions that describe the method for packaging information in a file format. The file is smaller because of Zip compression, it is more robust, and custom XML is easier to work with because it is stored in its own part. You can modify a Word 2007 XML file programmatically using the System.IO.Packaging Class.
Microsoft Excel 2007
• Spreadsheet Size – has been increased from 256 columns to 16,385 and from 65,536 rows to 1,048,578. You can have 1024 spreadsheets in a work book (same as Excel 2003) as well as the increase of many more previous limits.
• New Charting – can give you much more professional looking charts. Based on the theme that is applied to your work book, the charts can sport special effects such as 3D, transparency, and soft shadows.
• Sorting – has been increased from 3 columns to 64 columns and you now have the ability to sort by color. You can also filter by color or by date, select multiple items to filter, and filter data in Pivot Tables.
• Additional Functions – 51 to be exact, with two new categories of Engineering and Cube added. Many of the engineering ones use to be part of the Analysis tool pack and the Cube ones are for fetching data from OLAP cubes.
• Data Connection Library – allows you to import external data into a spreadsheet from external sources. You also are not required to know the server or database names of corporate data sources. By using Quicklaunch, you can select from available data sources made available by your organization.
Microsoft PowerPoint 2007
• Themes and Quick Styles – are new layouts that offer you a wider range of options when formatting your presentations. Themes simplify the process across all of your slides. Quick Styles to adapt it to a particular theme.
• Custom Layouts – can be defined and saved, which will save you time and energy from cutting and pasting layouts to new slides or deleting content on a slide. The PowerPoint Slide Libraries makes it easy to share these custom slides with others for a consistent look and feel.
• PowerPoint Open XML Interface – allows you to programmatically replace slide images, retrieve lists of images, as well as adding custom galleries to the Office Fluent UI.
Microsoft Office Outlook 2007
• Enhanced Searches – using Instant Search allows you to find items faster, color categories that give you a better method of visually distinguishing items, and has a much more results-oriented user interface.
• Management of Priorities – by using a To-Do bar that integrates your tasks, emails and calendar information for easy access. It also integrates into OneNote 2007, Project 2007 and Windows SharePoint 3.0 websites.
• Connect across boundaries – by using Windows SharePoint 3.0, Really Simple Syndication (RSS) feeds, and Internet Calendar Subscriptions.
• Outlook Email Postmark – is a new technology that helps you stop junk email. By creating an email postmark, it makes it more difficult for spammers to send mass email messages.
Microsoft Access 2007
• Database Templates – let you build complete applications for tracking contacts, tasks events, students, and other types of data. They can be used as is, or enhanced to fit exactly what you need. They contain predefined tables, forms reports, and queries so that they are immediately useful out of the box.
• More intuitive object creation tools – provide an environment for easily creating forms and reports that display sorted, filtered, and grouped information.
• New Data types and controls – let you create multi-valued fields for the handling of complex data in a single field. An Attachment field lets you store all types of documents and binary files in your database with out unnecessary growth in database size. Memo fields now store rich text and support revision history. A new calendar control allows for the picking of dates.
• Improved design and analysis tools – include an enhanced field list pane, enhanced sorting and filtering tools, totals and alternating background colors in datasheets, and enhanced security.
Visual Studio Tools For Office (VSTO)
While this is not part of Office 2007: Professional Edition, it is what is used to interact with these products from within Visual Studio 2008. Visual Studio 2008 and .NET Framework 3.5 Release has brought VSTO into the IDE and it now also supports the development of InfoPath, Visio, and PowerPoint applications in addition to Word, Excel, and Outlook that were supported in prior versions. This makes the release of Office 2007: Professional Edition even more powerful for Windows application and Web Developers.
What this also means is that you can not only manipulate the native documents programmatically, something that could be done using VBA in prior version, but you can dynamically extract the data from these sources. They change to display in ways never before accomplished without a lot of pain, sweat, and tears on the part of the developer. Tied to Windows Presentation Foundation (WPF), Windows Workflow Foundation (WWF), and Windows Communications Foundation (WCF), a developer using this platform can truly integrate a workplace like never before.
As I alluded to before, back in the old days (5-10 years ago) when you needed to generate interaction with Microsoft Word or Excel, you had to jump through some hoops to get it done. It was always through some external interface and if everything wasn't just right, it was plain hard to debug the problems.
Now with all of these new features, interacting with the Office Suites is a pleasure. It really works well on three levels. The first is as you have been able to in the past from within the product itself, but now each product is much more mature than ever and now have many, many more capabilities. Second is by directly integrating with the Open Office XML files to manipulate data, and finally is through the VSTO interface for much more control.
If you develop business solutions using Visual Studio and especially Visual Studio 2008, then you really need to explore the use of Office 2007: Professional Edition to not only add value to your products, but to reduce development time and energy. I highly recommend Office 2007: Professional Edition for development use.