Note: Use the DLL I provided only with Outlook 2000, otherwise repeat the steps described to modify your version.
Introduction
Recently, I came across Code Project's RSS feed located in the community menu under CodeProject Stuff. After searching the web, I found a couple of neat free RSS readers and decided to use RSSReader. I also found some not-so-free Outlook add-ins that displayed RSS feeds directly in Outlook Today.
Note: There's also a customized feed for each category that can be obtained from the OPML.
Since I wasn't going to shell out any money for every new software that I found interesting, I searched the web some more to see if there's another way for me to display the data in Outlook.
What I found was that Outlook Today's HTML code was actually compiled into a DLL called OUTLWVW.DLL where Microsoft Office is installed. To work around this, I also needed a resource viewer that would recompile the DLL for me once it was modified. Thus, Resource Hacker was needed.
Warning
Always backup any Microsoft/Windows files that you change before modifying them.
Modifying Outlook Today
Open Outlook and go to the Outlook Today page. If you click on the customize button in the upper-right corner, you'll see a "Styles" section with a dropdown menu containing 5 options. These different styles can each be modified to display information that the user wants.
Download Resource Hacker and search for OUTLWVW.DLL. This is usually located under "C:\Program Files\Microsoft Office\Office10\1033\".
Run the Resource Hacker and open OUTLWVW.DLL. Do a search for "Outlook.htm". This should be a folder under the "23" folder. The 5 style options in the customize Outlook Today page correspond to Outlook.htm and Outlook(i).htm, where (i = 1, 2, 3, 4).
Double-click on 1033 under Outlook.htm and modify the HTML code to display the latest Code Project articles.
The best way to do so is to add your changes at the bottom of the Outlook Today page. Scroll down to the bottom until you see a script section as follows:
<!---->
Add the following block of code before the script section and after the last table's end tag.
<table border=0 cellspacing=0 cellpadding=0 width=100%>
<tr>
<td>
<table cellpadding=2 cellspacing=0 border=0 width=100%>
<tr>
<td width=10px class=borderTop></td>
<td>
<!---->
<script language="Javascript">
var CP_table_headercolor = "#D4D0C8";
var CP_header_fontface = "Verdana, sans serif";
var CP_header_fontcolor = "white";
var CP_header_fontsize = "2";
var CP_link_fontface = "Verdana, sans serif";
var CP_link_fontsize = "1";
var CP_link_target = "_blank";
</script>
<script language="Javascript"
src="http://www.codeproject.com/info/Codeproject_latest.js">
</script>
<NOSCRIPT>
<a href="http://www.codeproject.com/" target="_blank">
The Code Project</a> is a place where developers can contribute
their own ideas, share their own code, and just hang out
and help each other learn.
Click <a href='http://www.codeproject.com/info/latest.asp'
target=_blank>here</a> to view the latest updates.
</NOSCRIPT>
-->
</td>
<td width=6px class=borderTop></td>
</tr>
</table>
</td>
</tr>
</table>
Click on the "Compile Script" button after making sure you have a backup copy of it. Close Outlook if you still had it running so that you may save the DLL, otherwise it won't save. Restart Outlook and go to the Outlook Today page to see the changes made. If nothing appears different, go to the customize page and make sure that the style you modified is the style selected.
As you may have guessed, the code above does not actually use the RSS feed code, but uses the JavaScript feed instead. The reason why I did not use the RSS feed was that I would have to display the RSS feed using an XSL stylesheet and save the XSL file somewhere locally (preferably in the same location as the DLL).
However, this can easily be done by copying the following code instead.
<table width="90%" border="1">
<script>
xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = false;
xmldoc.load("http://www.codeproject.com/webservices/articlerss.aspx");
xsldoc = new ActiveXObject("Microsoft.XMLDOM");
xsldoc.async = false;
xsldoc.load("file:///C:\\Program Files\\Microsoft
Office\\Office10\\1033\\change.xsl");
</script>
<script>
document.write(xmldoc.transformNode(xsldoc));
</script>
</table>
The stylesheet that I'm using is a slightly modified version of Tutu's RSS Viewer stylesheet.
Note: The full path to the file has to be used, otherwise a script error will be displayed.
RSS Feed vs. JavaScript Feed
The JavaScript feed makes it easier to display all the latest articles since the HTML display code is written inside the file and maintained by Code Project. However, the RSS Feed code allows you to write your XSL stylesheet (or borrow someone else's :-)) to display the data any way you want to. If there was an online stylesheet for Code Project's RSS Viewer (suggestion), then the RSS feed would be simpler.
Note: The RSS feed and the JavaScript feed do not display the same exact information, and the RSS feed seems to be updated more often.
Outlook Express
The main page for Outlook Express can be found in "C:\Program Files\Outlook Express\msoeres.dll" under 2110\FRNTPAGE.HTM\1033. Add your code after the last </TR>
tag before the text "When Outlook Express starts, ....".
Note: Outlook Express does not add scrollbars for each section. If the Code Project latest articles feed was added, the other sections begin to shrink. If you need to implement this for Outlook Express, you will have to modify Microsoft's code completely to make it more efficient.
Creating a New Outlook Today Page
If you're so inclined, you can create a completely new Outlook Today page without having to recompile the Outlook DLL. To do so, right-click on the Outlook Today icon and select Properties, then click on the Home Page tab, and browse for your customized HTML file.
Points of Interest
History
- 2004-06-24 - Updated text and image.
- 2004-06-23 - Initial draft.