If you’re like most Microsoft Outlook users, you’ve configured this application to immediately access the Inbox folder when you launch it. To you, “Outlook Today” is just the name of the folder at the top of Outlook’s Folder List. You may access the Outlook Today page occasionally, but you don’t really use it.
Chances are that at one time, maybe when you first started using Outlook, you accessed the Outlook Today page and discovered that it provides you with a nice little summary of Outlook’s features with information about and access to the Inbox, a week’s view of your calendar, and a list of tasks. Intrigued, you then clicked the Customize Outlook Today button thinking that you might be able to make the page more useful. However, after experimenting with options available on the Customize Outlook Today page you were probably disappointed to find that your choices were very limited. As such, you cleared the When Starting, Go Directly To Outlook Today check box and moved on.
However, the Customize Outlook Today page isn’t the only way that you can go about making Outlook Today more useful. Once you understand the how the underlying technologies of the Outlook Today page work, you can bypass the default options and truly build a custom Outlook Today page.
I’m going to examine the underlying technologies of the Outlook Today page and explain how it works. As I do, I’ll be using Outlook 2002 in my examples. However, keep in mind that the techniques described in this article will apply to Outlook 2000 as well.
Does this apply to Outlook 2003?
The techniques described in this article should also apply to Outlook 2003; however, they haven’t been tested with Outlook 2003. If you have Outlook 2003 and find that these techniques work or don’t work, please use the discussion area below this article to let us know.
As you might imagine, since Microsoft is incorporating the Internet Explorer browser engine into every nook and cranny of its operating systems and applications, the Outlook Today page is based on HTML code and presented via Outlook’s access to the Internet Explorer browser engine.
More specifically, Outlook Today takes advantage of an Internet Explorer feature called databinding, which is designed to allow an HTML table on a page to be linked to a datasource using an ActiveX datasource control. In this case, the datasource is Outlook itself.
As you probably know, the Outlook Today page contains three sections: Calendar, Messages, and Tasks. Each one of these sections is based on what is called a databinding table, which essentially contains code that enables the datasource controls to collect information from Outlook and display it in the appropriate databinding tables. These tables are then dynamically updated any time new information is added or changed in Outlook.
Now that you know that the Outlook Today page is rendered in HTML, you might be tempted to jump right over to Windows Explorer and begin searching your hard disk for an Outlook Today HTML file tucked away in some hidden folder on your hard disk. However, you won’t find it that way. Rather, the HTML code for the Outlook Today page is a resource file embedded inside a DLL file called Outlwvw.dll.
If you’re running Outlook 2000, this DLL file will be found in the C:\Program Files\Microsoft Office\Office\1033 folder. If you’re running Outlook 2002, this file will be found in the C:\Program Files\Microsoft Office\Office10\1033 folder. If you’re running Outlook 2003, this file will be found in the C:\Program Files\Microsoft Office\Office11\1033 folder.
Since the Outlook Today page is based on HTML code, you can imagine that customizing it would be a relatively easy process—that is, of course, if you’re familiar with scripting and HTML. However, you first need to be able to get to the HTML code for the Outlook Today page. Fortunately, there’s a way to extract the Outlook Today page in HTML format from the Outlwvw.dll file. Let’s take a closer look at this procedure.
Extracting the Outlook Today HTML page
As I mentioned, the Outlook Today page is embedded as a resource in a DLL file called Outlwvw.dll. Fortunately, you can extract the Outlook Today page in HTML format from the Outlwvw.dll file using Internet Explorer, a special URL protocol called Res, and Notepad.
To begin, you must close Outlook. Once Outlook is closed, launch Internet Explorer and type the following Res URL protocol into the Address box:
Res://C:\Program Files\Microsoft Office\Office10\1033\Outlwvw.dll/outlook.htm
As you type this Res URL protocol, make sure that you note that the last slash mark immediately follows the DLL filename and leans forward.
The Res URL protocol
The Res URL protocol was designed to allow browsers to access embedded HTML pages as special custom resources. You can learn more about the Res URL protocol on Microsoft’s MSDN site.
When you click the Go button (or press Enter) Internet Explorer will access the Outlwvw.dll file and use the Res URL protocol to load the Outlook Today page. As it does, you might see an error dialog box.
For example, if you’re using Internet Explorer 6 and have the Display A Notification About Every Script Error browsing setting selected on the Advanced tab of the Internet Options dialog box, you’ll see the error dialog box shown in Figure A.
|Internet Explorer 6 will display this error if it is configured to monitor all script errors.|
I only point out this error as a heads up since it appears so ominous—it really has no bearing on the extraction procedure. To dismiss the dialog box, clear the Always Display This Message When A Page Contains Errors check box and click OK.
You’ll then see your Outlook Today page in Internet Explorer. Keep in mind that the Res URL protocol I’ve used in my example will yield the Standard display style. If you wish to extract one of the other Outlook Today page styles, you’ll need to alter the name of embedded resource file. The full list of embedded resource files is shown in Table A.
To begin the extraction procedure, pull down the View menu and select the Source command. When you do, Notepad will load the HTML code for the Outlook Today page, as shown in Figure B.
|Notepad loads the HTML code for the Outlook Today page.|
You’ll then save the file to a new folder on your hard disk. If you plan on customizing the Outlook Today page, you need to create a permanent folder for the HTML file and its associated support files. For example, you might save the file as Outlook.htm in a new folder named Outlook Today that resides in My Documents.
At this point, there are a couple of minor changes that you need to make to the code in your newly extracted Outlook.htm file. Fortunately, the changes can be made easily with Notepad’s Replace function.
To begin, press [Ctrl]+H and type display:none in the Find What text box and type display: in the Replace With text box, as shown in Figure C. Then, click the Replace All button. The replace operation will change three lines. Once it’s finished with the replace operation, close the Replace dialog box, save the file again, and close Notepad.
|You can use Notepad’s Replace tool to make the necessary changes to your Outlook.htm file.|
Extracting the graphics
At this point, you’ll want to extract the two graphic images that are a part of the Outlook Today page. Doing so will allow you to correctly view the Standard display style of the Outlook Today page.
The first image is obvious; it’s the clock in the upper left corner. To extract it, right-click on the image and select Save Picture As from the drop-down menu. When you see the Save Picture dialog box, locate your Outlook Today folder, type clock in the File name text box, and click Save.
The second image is actually hidden and is a bit tricky to find because it is both invisible and small. However, this image’s purpose is to add spaces necessary to format the page layout properly. To locate this image, position your pointer in between the Calendar bar and the divider and right-click. If the drop-down menu contains the Save Picture As command, as shown in Figure D, select the command and save the image using the filename gap. If you fail to locate the hidden image on your first attempt, the menu won’t contain the Save Picture As command and you’ll need to slightly reposition your mouse pointer and try again.
|Once you right click on the hidden image, the drop-down menu will contain the Save Picture As command.|
Keep in mind that Internet Explorer will only allow you to save these image files in the BMP format. Also note that filenames are in all lowercase letters in both of the images that you saved.
Once you’ve saved the two image files in BMP format, you’ll need to convert them to GIF format. Fortunately, you can use Paint to perform this conversion. To do so, just launch Paint (from the Accessories folder in the Start Menu), load one of the images, select the File | Save As command, and then select GIF from the Save As Type drop-down list. After you have saved these images as GIFs, you can then delete the original BMP files if you wish.
At this point, you can double-click your Outlook.htm file and see a fully rendered copy of the Outlook Today page using the Standard display style in Internet Explorer. However, keep in mind that at this point, your stand-alone Outlook Today page isn’t connected, via the databinding feature, to Outlook. Furthermore, Outlook will continue to use the embedded version of the Outlook Today page.
As such, none of your Calendar appointments, Message folders, or Tasks will appear in your stand-alone Outlook Today page. Even though the databinding feature isn’t in place, clicking any one of the linked headings in your stand-alone Outlook Today page will launch a separate instance of Outlook. For example, clicking the Calendar link will launch a separate instance of Outlook and switch to the Calendar view.
While the stand-alone Outlook Today page isn’t connected to Outlook, you can load the Outlook.htm file into your favorite HTML editing program and begin customizing the layout. If you’re familiar with scripting and HTML, you can also load and edit the Outlook.htm file in Notepad and begin investigating the databinding controls.
In my next article, I’ll show you how to edit the Outlook.htm file to add other Outlook features to the Outlook Today page to make it more functional. I’ll also explain how you go about enabling the databinding feature to connect your stand-alone Outlook Today page to Outlook so you can start using it as part of the Outlook interface.
Subscribe to the Developer Insider Newsletter
From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays