<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>OutlookCode.com articles</title>
    <description>OutlookCode.com is a meeting place for people who want to make Outlook work harder for themselves and their organizations by learning how to program applications for their own use and to share with others. No matter whether you are a beginner or an expert, you are welcome to browse the articles, samples and other resources, share your own code, and discuss Outlook programming issues here.</description>
    <link>http://www.outlookcode.com/rss.aspx?feed=ARTICLES</link>
    <lastBuildDate>Wed, 01 Oct 2008 19:08:13 GMT</lastBuildDate>
    <docs>http://backend.userland.com/rss</docs>
    <generator>RSS.NET: http://www.rssdotnet.com/</generator>
    <item>
      <title>Form region: Categories text box</title>
      <description>&lt;P&gt;Outlook 2007 includes a new feature called &lt;A href="http://www.outlookcode.com/news.aspx?id=22"&gt;form regions&lt;/A&gt; to extend the user interface for individual items with custom pages and controls embedded in both the reading pane and standard pages. Most form region applications use an add-in to control the behavior of a form region and its controls, but it is also possible to create simple form regions to add data entry and viewing controls. &lt;/P&gt;
&lt;P&gt;For example, Outlook 2007's built-in Categories control does not allow the user to type in a list of categories. The MessageCat sample form region can solve that problem by adding a region at the bottom of each open, read message where the user can type in a list of categories.&amp;nbsp; &lt;/P&gt;
&lt;H3&gt;Installation&lt;/H3&gt;
&lt;P&gt;To install the MessageCat form region, follow these steps:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Download the &lt;A href="http://www.outlookcode.com/files/messagecat.zip"&gt;messagecat.zip&lt;/A&gt; file and then expand it into its three individual files. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;Copy the messagecat.xml and messagecat.ofs files into a separate folder, for example, C:\Data\Regions.&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;If you use a folder other than C:\Data\Regions for step #2, open the messagecat.reg file in Notepad or another text editor. It should look like this:&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;&lt;TEXTAREA style="WIDTH: 627px; HEIGHT: 81px" name=reg readOnly&gt;Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\Outlook\FormRegions\IPM.Note]
"MessageCat"="c:\\data\\regions\\messagecat.xml"&lt;/TEXTAREA&gt; &lt;BR&gt;&lt;BR&gt;Edit the path for the MessageCat value (the last line) so that it matches the path you used in step #2.&lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;Run the messagecat.reg file to add the FormRegions and IPM.Note keys to the registry, if they are not already present, and to add the MessageCat value. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;Restart Outlook.&lt;/LI&gt;&lt;/OL&gt;
&lt;H3&gt;Usage&lt;/H3&gt;
&lt;P&gt;To use the form region, open any received message. You should see the MessageCat region at the bottom of the window: &lt;/P&gt;
&lt;P&gt;&lt;IMG height=68 alt="MessageCat region" hspace=20px src="http://www.outlookcode.com/images/messagecat.png" width=486 vspace=10px&gt;&lt;/P&gt;
&lt;P&gt;The Categories box will show the existing categories on the item, and you can type in it or delete categories directly from it. Save the message before closing it, or close it and answer Yes to the prompt to save changes. &lt;/P&gt;
&lt;H3&gt;Enhancements&lt;/H3&gt;
&lt;P&gt;If you want the region to appear on messages being composed as well as those being read, you can edit the messagecat.xml file to change the value for the &amp;lt;showInspectorCompose&amp;gt; element from false to true. DO NOT attempt to modify this .xml file to allow the region to be used in the reading pane. Items in the reading pane are read-only; therefore, you cannot use a form region to type in new values for the Categories property for an item visible in the reading pane. &lt;/P&gt;
&lt;P&gt;To see how the region is constructed or to add other controls to the region, open a message form in design mode, and then choose &lt;STRONG&gt;Form Region | Open Form Region&lt;/STRONG&gt; to open the messagecat.ops file. Make any modifications you want, then choose &lt;STRONG&gt;Form Region | Save Form Region&lt;/STRONG&gt; to save your changes. &lt;/P&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=73</link>
      <pubDate>Wed, 01 Oct 2008 19:08:13 GMT</pubDate>
    </item>
    <item>
      <title>To automatically Bcc all outgoing messages</title>
      <description>&lt;P&gt;Outlook has a rule to automatically Cc another person on outgoing messages, but no equivalent for Bcc. This page offers two code samples for adding such an automatic Bcc. Both use the Application.ItemSend event, which fires whenever a user sends a message or other item. &lt;/P&gt;
&lt;H5&gt;Method #1 (Basic)&lt;/H5&gt;
&lt;P&gt;This version is suitable for Outlook 2003 or later. It uses Outlook objects exclusively and includes error handling to avoid problems with an invalid Bcc address. Place this &lt;A href="http://www.outlookcode.com/article.aspx?ID=40"&gt;VBA&lt;/A&gt; code in the built-in ThisOutlookSession module:&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA style="WIDTH: 521px; HEIGHT: 441px" name=S1 readOnly&gt;Private Sub Application_ItemSend(ByVal Item As Object, _
                                 Cancel As Boolean)
    Dim objRecip As Recipient
    Dim strMsg As String
    Dim res As Integer
    Dim strBcc As String
    On Error Resume Next

    ' #### USER OPTIONS ####
    ' address for Bcc -- must be SMTP address or resolvable
    ' to a name in the address book
    strBcc = "someone@somewhere.dom"

    Set objRecip = Item.Recipients.Add(strBcc)
    objRecip.Type = olBCC
    If Not objRecip.Resolve Then
        strMsg = "Could not resolve the Bcc recipient. " &amp;amp; _
                 "Do you want still to send the message?"
        res = MsgBox(strMsg, vbYesNo + vbDefaultButton1, _
                "Could Not Resolve Bcc Recipient")
        If res = vbNo Then
            Cancel = True
        End If
    End If

    Set objRecip = Nothing
End Sub&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P&gt;Make sure you substitute the right e-mail address for "someone@somewhere.dom&lt;A href="mailto:myaddress@mydomain.dom."&gt;.&lt;/A&gt;"&lt;/P&gt;
&lt;P&gt;The reason that this method is not suitable for versions earlier than Outlook 2003 is because it will trigger an address book security prompt due to the use of Recipients.Add. You could avoid security prompts by simply setting the Item.Bcc property to the desired address, but that has two problems. First, it would wipe out any Bcc recipients that the user might have already added. Also, in some Outlook configurations, setting Bcc without trying to resolve the address results in an unresolved address, even if you use a proper SMTP address; you'll get an error, and Outlook won't send the message.&lt;/P&gt;
&lt;H5&gt;Method #2 (Redemption) &lt;A name=method3&gt;&lt;/A&gt;&lt;/H5&gt;
&lt;P&gt;This version uses the same basic technique as Method #1, only with the third-party &lt;A href="http://www.dimastr.com/redemption/"&gt;Outlook Redemption&lt;/A&gt; library to avoid security prompts in versions before Outlook 2003 and, if the recipient cannot be resolved, to display to the user the name resolution dialog.&lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA style="WIDTH: 530px; HEIGHT: 345px" name=S3 readOnly&gt;Private Sub Application_ItemSend(ByVal Item As Object, _
                                 Cancel As Boolean)
    ' Requires a reference to
    ' the SafeOutlook library (Redemption.dll)
    Dim objMe As Redemption.SafeRecipient
    Dim sMail As Redemption.SafeMailItem
    On Error Resume Next
    
    Set sMail = CreateObject("Redemption.SafeMailItem")
    Item.Save
    sMail.Item = Item
    Set objMe = sMail.Recipients.Add("myaddress@mydomain.dom")
    objMe.Type = olBCC
    If Not objMe.Resolve(True) Then
        Cancel = True
    End If
    
    Set objMe = Nothing
    Set sMail = Nothing
End Sub
&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P&gt;Make sure you substitute the right e-mail address for "&lt;A href="mailto:myaddress@mydomain.dom."&gt;myaddress@mydomain.dom.&lt;/A&gt;"&lt;/P&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=72</link>
      <pubDate>Tue, 20 May 2008 15:10:45 GMT</pubDate>
    </item>
    <item>
      <title>Add-in threading issue causes Outlook to crash or hang </title>
      <description>&lt;P&gt;If you have written an Outlook add-in with Visual Basic 6.0 and you are getting new and unexpected reports of it crashing, you might want to ask the user whether the Apple ITunes add-in is also installed. According to Outlook MVP Ken Slovak, the ITunes add-in, which synchronizes the Outlook calendar with an IPod, can cause Outlook 2007 to crash and Outlook 2003 to hang in a way that makes it look like another VB6 add-in is responsible, because of a threading issue. &lt;/P&gt;
&lt;P&gt;UPDATE: As of 18 Jan 2008, Apple has released a new version of the iTunes add-in that does not produce this behavior. &lt;/P&gt;
&lt;P&gt;The Microsoft support engineer whom Ken has been working with explained that Outlook was designed with the assumption that all calls to the Outlook object model are on thread 0. Some other often used DLLs also make that assumption, including the VB6 runtime (MSVBVM60.DLL), which is used in many of the Outlook add-ins currently available.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;The problem apparently occurs because the Apple add-in sets up a new thread using a named pipe to do the calendar synching but neglects to marshal the thread back to thread 0 for any calls to the Outlook object model. Instead, it calls into the object model instead on thread 7. This lack of a proxying back to thread 0 then sets Outlook to call into MSVBVM60 to pass along any events that have fired due to the object model access (for example the ItemLoad event available only in Outlook 2007, which fires on every object model access to any Outlook item). This then crashes Outlook due to the threading. The stack is read by Watson and whatever is at the bottom of the stack gets blamed for the crash, usually MSVBVM60 but also Kernel32 on Vista. The next time Outlooks starts up, whichever addin was listed lowest in the stack is then blamed for the crash.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;If no VB6 addin is running, Outlook doesn't immediately crash. Instead, it becomes unstable and might crash at any later time, or it might just get hung in a deadlock between threads, something that won't happen if all calls to the object model are called in thread 0.&lt;BR&gt;&amp;nbsp;&lt;BR&gt;According to Ken, there is no possible defensive programming that an add-in developer can do to prevent another add-in from causing this problem. The problem add-in must change its code to prevent the problem from occurring. Microsoft is in touch with Apple about the problem with the ITunes add-in. However, any other vendor whose add-in takes the same approach to threading will cause the same problem, which means that this is a vendor-by-vendor problem that will have to be addressed each time a problem add-in is discovered.&lt;/P&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=71</link>
      <pubDate>Thu, 22 Nov 2007 14:11:42 GMT</pubDate>
    </item>
    <item>
      <title>Using the Outlook View Control</title>
      <description>&lt;P&gt;The Outlook View Control (OVC) is an ActiveX control that automatically installs with Outlook. It can display the contents of an Outlook folder in an Outlook custom form, folder home page, or add-in. It also has some limited usefulness for displaying Outlook data in a web page or other external application.&lt;/P&gt;
&lt;H5&gt;Usage&lt;/H5&gt;
&lt;P&gt;Basic implementation information is available at: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=831F957F-3190-48DA-A099-2BDBC7397623&amp;amp;displaylang=en"&gt;Microsoft Outlook View Control Reference&lt;/A&gt; (documentation) - written for Outlook 2002, but also applies to later versions&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;You must set the Folder parameter for the OVC or it will appear blank. The Folder parameter is language-dependent. It need the name of the folder or path as seen in the user's Folder List (and returned by the FolderPath property).&lt;/P&gt;
&lt;P&gt;If you are using the OVC in a web page or other non-Outlook application, omit the View parameter (e.g. &amp;lt;param name="View" value="By Category"&amp;gt;) in the initial settings for the control. If you set the View this way, even to value="", more often than not it will cause the control to default to the user's Inbox rather than showing the folder you want. See &lt;A href="http://www.outlookcode.com/d/OVCViewDemo.htm"&gt;Outlook View Control View Issue Demo&lt;/A&gt; for a demonstration of this issue. &lt;/P&gt;
&lt;P&gt;To show only certain items in the OVC, use either the Restriction property, which takes the same query syntax as the Items.Find and Items.Restrict methods, or the Filter property, which takes a &lt;A href="http://outlookcode.com/news.aspx?id=30"&gt;DASL&lt;/A&gt; query. &lt;/P&gt;
&lt;H5&gt;Limitations&lt;/H5&gt;
&lt;P&gt;The OVC can show only one folder at a time. It cannot duplicate the multi-folder list of items that Outlook shows on the Activities tab of a contact form. &lt;/P&gt;
&lt;P&gt;Access to the OutlookApplication property, which returns an Outlook.Application object, is blocked unless the OVC is running in an Outlook context (such as a custom form or folder home page). &lt;/P&gt;
&lt;H5&gt;Known Issues &lt;/H5&gt;
&lt;P&gt;Don't use DeferUpdate if you're also planning to apply a Restriction. See the discussion at &lt;SPAN id=forum_threads_dg2&gt;&lt;SPAN class=header id=forum_threads_dg2__ctl0_ltopic&gt;&lt;A href="http://www.outlookcode.com/threads.aspx?forumid=3&amp;amp;messageid=7021"&gt;OVC Restriction Only Functions After Filter&lt;/A&gt;.&lt;/SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;The OVC cannot be used as a control on an Access 2007 user form. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Also see:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A title="Link added 29 Nov 2004" href="http://support.microsoft.com/?kbid=883557"&gt;Outlook View Controls on a custom Outlook form are reset in Outlook 2003&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://support.microsoft.com/?kbid=933822"&gt;Visual Studio Tools for the Microsoft Office System (VSTO) Outlook add-ins do not run when you use the Outlook View Control from a Web page&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=70</link>
      <pubDate>Thu, 08 Nov 2007 22:54:27 GMT</pubDate>
    </item>
    <item>
      <title>Using the Microsoft Office Spreadsheet Control on an Outlook Form</title>
      <description>&lt;P&gt;If you need to have users enter several lines of data and do calculations on it -- as in an order form, for example -- consider using the Microsoft Office Spreadsheet control on your Outlook form. This control works just like an Excel spreadsheet and can be manipulated programmatically from VBScript code on the form. &lt;/P&gt;
&lt;H5&gt;Basics&lt;/H5&gt;
&lt;P&gt;The spreadsheet control requires that Microsoft Excel be installed. The control should be installed automatically with the Professional edition of Office 2003&amp;nbsp; if you install Excel. We have not checked on its availability in other Office 2003 packages. &lt;/P&gt;
&lt;P&gt;It is not available in Office 2007. However, if you installed Office 2003 first and then upgraded to Office 2007, the spreadsheet control may be work OK. &lt;/P&gt;
&lt;P&gt;&lt;B&gt;To add the spreadsheet control to the Outlook custom form control toolbox: &lt;/B&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Open any Outlook form in design mode, and click the toolbox button on the toolbar. &lt;/LI&gt;
&lt;LI&gt;Right-click the blank space on the toolbox, and choose &lt;B&gt;Additional Controls&lt;/B&gt;.&lt;/LI&gt;
&lt;LI&gt;If you don't see Additional Controls, open the Outlook VBA environment, create a new form, bring up its toolbox, then repeat Step 2. &lt;/LI&gt;
&lt;LI&gt;From the &lt;B&gt;Available Controls &lt;/B&gt;list, choose Microsoft Office Spreadsheet. &lt;/LI&gt;
&lt;LI&gt;The control should now appear in your toolbox. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;B&gt;To add the spreadsheet control to a form: &lt;/B&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Select the control in the toolbox.&lt;/LI&gt;
&lt;LI&gt;On the form, drag the mouse to lay out a rectangle where you want the form to appear. &lt;/LI&gt;&lt;/OL&gt;&lt;A href="http://www.outlookcode.com/images/proptoolbox.jpg"&gt;&lt;IMG style="FLOAT: left; MARGIN: 5px" height=306 alt="Spreadsheet Property Toolbox image" src="http://www.outlookcode.com/images/proptoolboxlow.jpg" width=179 border=0&gt;&lt;/A&gt; 
&lt;H5&gt;Customizing the Control&lt;/H5&gt;
&lt;P&gt;As with most controls, you can resize the spreadsheet.&lt;/P&gt;
&lt;P&gt;You can also copy cells from an existing Excel worksheet into the spreadsheet control. &lt;/P&gt;
&lt;P&gt;However, some of the most important customizations take place on the property toolbox for this control. To display the property toolbox: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Click twice (not a double-click, but two separate clicks) on the control to select it with a dark border.&lt;/LI&gt;
&lt;LI&gt;Click the Property Toolbox button .&lt;/LI&gt;
&lt;LI&gt;Make your choices on the various sections of the property toolbox. For example, under the Show/Hide section, you might want to turn off the title bar, toolbar, and column and row headers. Under Protection, you might want to disable the user's ability to access the property tool box when the form is running.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;To format cells, select the cells, then make your choices on the Formatting section of the property toolbox. &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;Another way to customize the toolbox is by writing code in the form events using standard Excel Spreadsheet properties and methods. This code fragment, for example, might be included in the Item_Open event. &lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA name=code rows=24 readOnly cols=62&gt;Set oPage = Item.GetInspector.ModifiedFormPages("Message")
Set Spreadsheet1 = oPage.Controls("Spreadsheet1")
Spreadsheet1.ViewableRange = "A1:F12"

For r = 2 to 11    ' row number
    Spreadsheet1.ActiveSheet.Cells(r, 6).Formula = _
      "=C" &amp;amp; r &amp;amp; "*E" &amp;amp; r
Next

Set pt = Spreadsheet1.ActiveSheet.Protection 
Spreadsheet1.Columns(6).Locked = True 
For I = 1 To 5
    Spreadsheet1.Columns(I).Locked = False
Next
pt.AllowDeletingColumns = False 
pt.AllowDeletingRows = False 
pt.AllowFiltering = False 
pt.AllowInsertingColumns = False 
pt.AllowInsertingRows = False 
pt.AllowSizingAllColumns = False 
pt.AllowSizingAllRows = False 
pt.AllowSorting = False
pt.Enabled = True
&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P&gt;The above code makes the following changes on the spreadsheet: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Limits the range of cells that users can scroll across, so that they always stay in the area the developer wants&lt;/LI&gt;
&lt;LI&gt;Adds a formula to column F to multiply the values in columns C and E&lt;/LI&gt;
&lt;LI&gt;Sets up protection on the spreadsheet so that the user cannot type into the cells in column F, cannot resize columns, etc. &lt;/LI&gt;&lt;/UL&gt;
&lt;H5&gt;Handling Data&lt;/H5&gt;
&lt;P&gt;You cannot bind the spreadsheet control to an Outlook property. This means that Outlook will not automatically save the data that users enter into the control. Therefore, you must provide a way to save the data and restore it when the user reopens the form. You can use the HTMLData property for this. The following code is for a form where the Message or Notes control (which displays the Body property) has been removed. It saves the data to the item's Body property (which is not visible to the user because there is no control to display it) when the user saves the form and restores it when the user opens the form:&lt;/P&gt;
&lt;P&gt;&lt;TEXTAREA name=code1 rows=14 readOnly cols=62&gt;Dim XLSheet 

Function Item_Open() 
    Set oPage = Item.GetInspector.ModifiedFormPages("Message")
    Set XLSheet = oPage.Controls("Spreadsheet1") 
    XLSheet.HTMLData = Item.Body 
    Item.Subject = Trim(Item.Subject &amp;amp; " ") 'Dirty the form 
End Function 

Function Item_Write() 
    Item.Body = XLSheet.HTMLData 
End Function
&lt;/TEXTAREA&gt;&lt;/P&gt;
&lt;P&gt;Setting Item.Subject equal to itself ensures that users will get a "Save changes?" prompt when they close the form. (Since the spreadsheet control is not bound to a property, changing the data in the spreadsheet does not "dirty" the form.)&lt;/P&gt;
&lt;P&gt;If you need to use the Body property for an actual message, then you'll need to use some other property to store the spreadsheet data. All Outlook items contain built-in BillingInformation and Mileage properties, or you can add your own custom text property. However, the amount of data that can be stored in standard and custom properties, other than the item body and attachments, is limited to 32kb.&lt;/P&gt;
&lt;H5&gt;Limitations&lt;/H5&gt;
&lt;P&gt;The spreadsheet control does not fire a Click event (or any other event) when used on an Outlook form.&lt;/P&gt;
&lt;P&gt;You cannot place another control in front of the spreadsheet control on an Outlook form. &lt;/P&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=69</link>
      <pubDate>Thu, 08 Nov 2007 21:39:14 GMT</pubDate>
    </item>
    <item>
      <title>Troubleshooting Outlook VBA</title>
      <description>&lt;P&gt;Sometimes Outlook VBA won't run. Likely causes include macro security settings, missing or disabled components, or external programs starting Outlook and holding it open. This page aims to present the most common causes and solutions.&lt;/P&gt;
&lt;H5&gt;Macro Security&lt;/H5&gt;
&lt;P&gt;The most common cause of VBA code not running is the macro security setting. The default setting does not allow any Outlook VBA code to run. For instructions on how to change the setting and test whether VBA is working, see:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://outlookcode.com/article.aspx?id=49"&gt;Outlook VBA Basics&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I recommend that most people use &lt;B&gt;Medium&lt;/B&gt; in Outlook 2003 or &lt;B&gt;Warnings for all macros&lt;/B&gt; in Outlook 2007, because that ensures that you'll get a prompt, which will let you know that Outlook VBA has loaded. You can use the next higher macro security setting if you sign your VBA project with the Selfcert.exe tool that comes with Office; see &lt;A href="http://outlookcode.com/article.aspx?ID=40"&gt;Writing VBA Code for Microsoft Outlook&lt;/A&gt; for details.&lt;/P&gt;
&lt;P&gt;If you choose Very High (available in Outlook 2003 only) Outlook VBA macros will not run, since Outlook 2003 has no default "trusted location."&lt;/P&gt;
&lt;P&gt;These articles from the Office Resource Kit explain macro security in detail: &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://technet2.microsoft.com/Office/en-us/library/67869078-71c6-45f5-aab0-0823c83aed541033.mspx?mfr=true"&gt;Overview of security in the 2007 Office system&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.microsoft.com/office/ork/2003/seven/ch25/SecC02.htm"&gt;Understanding Macro Security Levels in Office&lt;/A&gt; (Outlook 2003)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://office.microsoft.com/en-us/outlook/HP052850551033.aspx"&gt;Change the Outlook security level for macro virus protection&lt;/A&gt; (Outlook 2003)&lt;/LI&gt;&lt;/UL&gt;
&lt;H5&gt;Outlook Held Open&lt;/H5&gt;
&lt;P&gt;If the macro security dialog doesn't open or if Alt+F11 does not open the VBA window, you may have a different problem: VBA itself isn't loading. One possible cause is that another program is starting Outlook without any user interface and, when the user starts Outlook's UI, most&amp;nbsp; COM add-ins -- including the VBA environment -- won't start up. &lt;/P&gt;
&lt;P&gt;To troubleshoot, shut down Outlook and wait a few minutes. Use Ctrl+Alt+Delete to display the Task Manager and make sure that Outlook.exe is no longer running. If it is, you almost certainly have a program holding Outlook open; use the Task Manager to stop Outlook. Then quit or disable any anti-virus, anti-spam, fax, or PDA synchronization utilities. (You may want to disconnect from the Internet during this phase of the troubleshooting.) Restart Outlook and try to get into VBA. If it works, then quit Outlook and restart one of the utilities you turned off. Restart Outlook to see if VBA runs OK. Repeat with the other utilities. If you find one that makes it impossible to start VBA, you may need to start Outlook before you run that utility. Make sure that such a utility is not set to start when Windows starts, so you can start it after you run Outlook.&lt;/P&gt;
&lt;H5&gt;VBA Not Trusted&lt;/H5&gt;
&lt;P&gt;Outlook supports, but does not normally set a DontTrustInstalledFiles registry value that controls whether COM add-ins are trusted. VBA itself is a COM add-in, so if DontTrustInstalledFiles is set to 1 and macro security is set to High, no COM add-ins run, including VBA.&lt;/P&gt;
&lt;P&gt;In Outlook 2003, you can also control this option with the &lt;B&gt;Tools | Macro | Security&lt;/B&gt; dialog, on the &lt;B&gt;Trusted Publishers&lt;/B&gt; tab, using the &lt;B&gt;Trust all installed add-ins and templates&lt;/B&gt; check box. &lt;/P&gt;
&lt;H5&gt;Other Possible Causes&lt;/H5&gt;
&lt;P&gt;VBA is part of a default Outlook installation, but in a custom installation, it can be omitted or disabled. Try rerunning Office or Outlook setup and, under Office Shared Features, make sure that the VBA and Visual Basic Help components are installed.&lt;/P&gt;
&lt;P&gt;If you still can't find the cause, try creating a new Windows user profile. That will provide a clue as to whether the issue is with the installation or with the particular user's settings. &lt;/P&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=68</link>
      <pubDate>Wed, 07 Nov 2007 22:07:17 GMT</pubDate>
    </item>
    <item>
      <title>Outlook Custom Forms Security Issues</title>
      <description>&lt;p&gt;Custom Outlook forms are subject to several layers of security that 
		determine whether VBScript code behind the form can run and whether 
		ActiveX controls (beyond those included with Outlook) are blocked. &lt;/p&gt;
		&lt;p&gt;In most cases, if VBScript code does run, it will not be subject to 
		&amp;quot;object model guard&amp;quot; security prompts, as long as all Outlook objects 
		are derived from the intrinsic Application and Item objects that custom 
		form VBScript code supports. For information on these security prompts, see: &lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="http://outlookcode.com/article.aspx?id=52"&gt;Microsoft Outlook &amp;quot;Object 
			Model Guard&amp;quot; Security Issues for Developers&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;p&gt;This page covers strategies for dealing with other security issues 
		related to Outlook custom forms in current versions. &lt;/p&gt;
        &lt;h5&gt;Forms in Other Mailboxes&lt;/h5&gt;
		&lt;p&gt;By default, items created with custom forms do not run code when the 
		user opens them from a shared mailbox. You can change the setting by choosing
		&lt;b&gt;Tools | Options | Other | Advanced Options&lt;/b&gt; and checking the box 
		for &lt;b&gt;Allow script in shared folders&lt;/b&gt;. You&amp;#39;ll see that there is also 
		an option for &lt;b&gt;Allow script in public folders&lt;/b&gt;. In Outlook 2007, 
		these settings are in the &lt;b&gt;Tools | Trust Center&lt;/b&gt; dialog, under &lt;b&gt;E-mail 
		Security&lt;/b&gt;. &lt;/p&gt;
		&lt;p&gt;The corresponding 
		registry values for Outlook 2003 are in the 
		HKCU\Software\Microsoft\Office\11.0\Outlook\Security key -- SharedFolderScript and PublicFolderScript, both DWORD values. 
		For Outlook 2007, replace 11.0 with 12.0.&lt;/p&gt;&lt;p&gt;Note that these settings affect both script in custom forms 
		for items in public folders and script in folder home pages for such 
		folders. &lt;/p&gt;
		&lt;p&gt;For more information, see: &lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;a href="http://support.microsoft.com/?id=827311"&gt;Explanation of 
			the Allow Script Check Boxes in Outlook 2003&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
		&lt;h5&gt;One-off forms&lt;/h5&gt;
		&lt;p&gt;Code will not run on items created from unpublished or one-off forms. 
		Also, some ActiveX controls will be blocked, as described below. The one-off issue affects:&lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;Items created with saved .oft file templates&lt;/li&gt;
			&lt;li&gt;Items created with forms that were published with the &lt;b&gt;Send 
			form definition with item&lt;/b&gt; box on the form&amp;#39;s (Properties) page checked&lt;/li&gt;
			&lt;li&gt;Items created with properly published forms that later one-offed 
			because of code behind the form or the additional of a custom 
			property &lt;/li&gt;
		&lt;/ul&gt;
		&lt;p&gt;To ensure that a form does not one-off: &lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;
			&lt;p&gt;Make sure the &lt;b&gt;Send form definition with item&lt;/b&gt; box on the 
			(Properties) tab of the form is &lt;i&gt;not&lt;/i&gt; checked. When you 
			publish a message form in Outlook 2003, Outlook will suggest that you may want to 
			check the &lt;b&gt;Send form definition with item&lt;/b&gt; box to ensure that 
			the recipient will have the form, especially if you&amp;#39;re sending to 
			someone via the Internet. &lt;i&gt;In the current Outlook security 
			environment, this suggestion is obsolete and misleading. Ignore it 
			unless your form has no code behind it.&lt;/i&gt; &lt;/p&gt;
			&lt;/li&gt;
			&lt;li&gt;
			&lt;p&gt;For in-house corporate use with Exchange Server, publish a 
			message form to the Organizational Forms library. Publish other&amp;nbsp;types of forms to Organizational Forms or a public folder&amp;#39;s forms 
			library, as appropriate for your application. &lt;/p&gt;
			&lt;/li&gt;
			&lt;li&gt;
			&lt;p&gt;On a custom message form, on the (Actions) tab, set the custom 
			form for the Forward action to the same class as the original form. 
			In other words, publish the form, then go to the (Actions) tab, set 
			the Forward action&amp;#39;s form to the same class, and publish a second 
			time. &lt;/p&gt;
			&lt;/li&gt;
		&lt;/ul&gt;
		&lt;p&gt;Many things can cause one-off forms. If you are still getting 
		one-offs after publishing as described above, see
		&lt;a href="http://www.outlookcode.com/article.aspx?id=34"&gt;Saving and Publishing 
		Microsoft Outlook Custom Forms&lt;/a&gt; for possible causes and cures.
		&lt;/p&gt;
        &lt;h5&gt;Blocked ActiveX Controls&lt;/h5&gt;
		&lt;p&gt;If a form is a one-off, only the basic form 
		controls (text box, combo box, etc.), message body control, recipient 
		control, and Outlook View Control will load. If a blocked control is present 
		on a one-off form, when the user attempts to display 
		the page showing that control, they&amp;#39;ll see this error message: &lt;/p&gt;
		&lt;blockquote&gt;
			&lt;p&gt;To help prevent malicious code from running, one or more objects 
			in this form were not loaded. For more information, contact your 
			administrator.&lt;/p&gt;
		&lt;/blockquote&gt;
		&lt;p&gt;The ideal solution for this issue is to avoid one-off forms 
		completely. If you must use a one-off&amp;nbsp; and you are using Outlook 2003, 
		you can use a registry entry or policy to control the behavior. (This 
		option is not availble in Outlook 2002 SP3). To use a registry entry, 
		add a DWORD value named AllowActiveXOneOffForms to the 
		HKCU\Software\Microsoft\Office\11.0\Outlook\Security value and set it to 
		one of these values:\&lt;/p&gt;
		&lt;blockquote&gt;
			&lt;table style="border-collapse: collapse;" id="table1" border="0" cellspacing="5" width="100%"&gt;
				&lt;tr&gt;
					&lt;td valign="top"&gt;0&lt;/td&gt;
					&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
					&lt;td valign="top"&gt;Load only the frm20.dll controls, the 
					Outlook View Control, Outlook Recipient Control, and the 
					docsite (message body) control&lt;/td&gt;
				&lt;/tr&gt;
				&lt;tr&gt;
					&lt;td valign="top"&gt;1&lt;/td&gt;
					&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
					&lt;td valign="top"&gt;Allow only controls marked as &amp;quot;safe for 
					initialization&amp;quot; to load&lt;/td&gt;
				&lt;/tr&gt;
				&lt;tr&gt;
					&lt;td valign="top"&gt;2&lt;/td&gt;
					&lt;td valign="top"&gt;&amp;nbsp;&lt;/td&gt;
					&lt;td valign="top"&gt;Allow all ActiveX controls to load &lt;/td&gt;
				&lt;/tr&gt;
			&lt;/table&gt;
		&lt;/blockquote&gt;
		&lt;p&gt;Note that published forms are not affected by this issue. If you&amp;#39;re 
		seeing the error message above, that&amp;#39;s an almost certain indication that the 
		form is now a one-off.&lt;/p&gt;
</description>
      <link>http://www.outlookcode.com/article.aspx?id=67</link>
      <pubDate>Wed, 07 Nov 2007 21:39:42 GMT</pubDate>
    </item>
    <item>
      <title>Using Outlook custom forms over the Internet - Not!</title>
      <description>&lt;P&gt;In short, don't do it. Even thinking about trying to use custom Outlook message forms to send items over the Internet is probably a waste of your valuable time. The prerequisites for getting custom forms to work over the Internet in current Outlook versions are so stringent that your chances of success are very, very slim. &lt;/P&gt;
&lt;H5&gt;If You Insist&lt;/H5&gt;
&lt;P&gt;If you insist, despite the warning, these are the prerequisites that must be met:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;All users must be using Outlook. &lt;/LI&gt;
&lt;LI&gt;All users must have access to the &lt;A href="http://www.outlookcode.com/article.aspx?id=34"&gt;published&lt;/A&gt; form definition. As a practical matter, that means the form must be published to each user's Personal Forms library or, in an Exchange environment, to the Organizational forms library, with each published instance of the form using the same message class, such as IPM.Note.MyForm. Furthermore, the &lt;B&gt;Send form definition with item&lt;/B&gt; box on the (Properties) page of the form must &lt;U&gt;not&lt;/U&gt; be checked. &lt;/LI&gt;
&lt;LI&gt;All the mail servers involved must allow rich-text content to pass. In some Exchange environments, outgoing RTF content is stripped by the server. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;If all these conditions are not met, the other user will see your custom form item in the standard Outlook form, not your custom form, and will have no access to any custom properties or VBScript code behind the form. &lt;/P&gt;
&lt;P&gt;It can get even worse: If you create a message using a custom form and send it to a non-Outlook recipient, that person may get an annoying Winmail.dat file as part of the message and wonder why they can't open it. At worst, they won't even be able to see any attachments that you included with the message. &lt;/P&gt;
&lt;H5&gt;What about Templates?&lt;/H5&gt;
&lt;P&gt;The above caveats apply to any Outlook form that is designed to display custom fields or run code for the person on the receiving end. Those features require a published custom form. You do not, however, need a published custom form if you just want to use some boilerplate text to make it easy to send certain messages on a regular basis. In such scenarios, do not publish a custom message form. Instead, create your boilerplate message, then save it to the file system as an Outlook template .oft file. To create a new message from the .oft template, just double-click it. &lt;/P&gt;
&lt;P&gt;If you are using Outlook 2003 with Word as your email editor, you will need to go to &lt;B&gt;Tools | Options | Message Format&lt;/B&gt; and turn off Word as the email editor before you create the boilerplate message. If you don't do that first, you will not be able to save it as an .oft file. &lt;/P&gt;
&lt;H5&gt;A Marginal Workaround&lt;/H5&gt;
&lt;P&gt;As a workaround for the problems related to using a custom message form over the Internet, I used to recommend using the Item_Send event handler on a custom message form to &lt;A href="http://www.outlookcode.com/codedetail.aspx?id=780"&gt;create and send a completely new message&lt;/A&gt; with the standard form, inserting data from custom properties on the original custom form message into the Body or HTMLBody property. However, because the Item.Close method is broken in versions of Outlook 2007 before SP1 and in current versions of Outlook 2003 (unless you get the &lt;A href="http://support.microsoft.com/kb/935411"&gt;right hotfix&lt;/A&gt; from Microsoft), you probably would have to leave the original custom message form open, which would confuse many users. Therefore, I cannot wholeheartedly recommend this solution. &lt;/P&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=66</link>
      <pubDate>Wed, 07 Nov 2007 20:46:57 GMT</pubDate>
    </item>
    <item>
      <title>Routed Message Form for Microsoft Outlook</title>
      <description>&lt;P&gt;The Routed Message Form by Jay Harlow is a Microsoft Outlook custom message form that can be used to send a message sequentially to a list of Outlook recipients. It uses a custom RouteTo text field to keep track of the recipients while the form is being routed to the next person in the To box. This form demonstrates several basic Outlook form design techniques:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Custom actions, defined on the (Actions) page in design mode, firing code in the Item_CustomAction event handler&lt;/LI&gt;
&lt;LI&gt;Code for the Send event that fires when the user sends a message based on this form&lt;/LI&gt;&lt;/UL&gt;
&lt;H5&gt;Prerequisite&lt;/H5&gt;
&lt;P&gt;To use this form, you must be able to &lt;A href="http://www.outlookcode.com/article.aspx?id=34"&gt;publish&lt;/A&gt; it to the Organizational Forms library on the in-house Exchange Server. It cannot be used to collect data from recipients outside your organization. &lt;/P&gt;
&lt;H5&gt;Setup&lt;/H5&gt;
&lt;OL&gt;
&lt;LI&gt;Download the &lt;A href="http://www.outlookcode.com/files/routemsg.zip"&gt;Routemsg.zip&lt;/A&gt; file (5kb), then extract the Routemsg.oft file that it contains.&lt;/LI&gt;
&lt;LI&gt;In Outlook, choose &lt;B&gt;Tools | Forms | Choose Form&lt;/B&gt;. &lt;/LI&gt;
&lt;LI&gt;At the top of the Choose Form dialog, select User Templates in File System.&lt;/LI&gt;
&lt;LI&gt;Navigate to the folder that you used in Step 1 to extract the Routemsg.oft file. &lt;/LI&gt;
&lt;LI&gt;Click Open.&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.outlookcode.com/article.aspx?id=34"&gt;Publish&lt;/A&gt; the form to the Organization Forms library so that every one in your organization can use it. Do NOT check the &lt;B&gt;Send form definition with item&lt;/B&gt; box on the (Properties) page of the form. &lt;/LI&gt;&lt;/OL&gt;
&lt;H5&gt;Usage&lt;/H5&gt;
&lt;P&gt;To create a routed message:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Choose &lt;STRONG&gt;Tools | Forms | Choose Form&lt;/STRONG&gt;, then select either &lt;STRONG&gt;Organizational Forms&lt;/STRONG&gt;, select Routed Message, and click Open.&lt;/LI&gt;
&lt;LI&gt;In the &lt;STRONG&gt;To&lt;/STRONG&gt; box, enter the addresses you want the form routed to, in the order you want them to receive the message. Enter your own address last if you want to receive the message after everybody else has responded.&lt;/LI&gt;
&lt;LI&gt;Click &lt;STRONG&gt;Send&lt;/STRONG&gt;.&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;When a recipient receives the message, he/she sees the message is addressed to him/her only. There is a &lt;STRONG&gt;Route To&lt;/STRONG&gt; box containing the list of names who have not yet received the message. When the recipient is done with the message, he/she clicks &lt;STRONG&gt;Route&lt;/STRONG&gt; to send it to the next person.&lt;/P&gt;
&lt;P&gt;The last recipient does not see any names in the &lt;STRONG&gt;Route To&lt;/STRONG&gt; box.&lt;/P&gt;
&lt;H5&gt;How It Works&lt;/H5&gt;
&lt;P&gt;The VBScript attached to this form has two routines:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;P&gt;Item_Send - deletes all of the recipients except the first one, after saving the display names of the recipients in the RouteTo custom text field. &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;Item_CustomAction - looks for the Route action, which is defined on the (Actions) page, to send the message to the next recipient. When the last recipient uses the Route action, nothing happens. Jay did not not implement any "Return to originator" feature, but the originator could simple add himself as the last person in the To field when composing a new Routed Message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Using these two routines, one should be able to use this form to build more complex routing forms. For example, if you saved the name of the originator (Application.Session.CurrentUser.Name) in another custom text field, you could add code in the Item_Forward or Item_Send event hander that would send the Originator an e-mail whenever the message was forwarded.&lt;/P&gt;</description>
      <link>http://www.outlookcode.com/article.aspx?id=65</link>
      <pubDate>Wed, 07 Nov 2007 14:37:51 GMT</pubDate>
    </item>
    <item>
      <title>How the Outlook forms cache works</title>
      <description>&lt;p&gt;When a user opens an item, Outlook looks at the value of the item&amp;#39;s 
		MessageClass property to determine whether the item should be displayed 
		with a standard form, a custom form, or (beginning in Outlook 2007), a
		&lt;a href="http://www.outlookcode.com/news.aspx?id=22"&gt;form region&lt;/a&gt;. If 
		the item requires a published custom form, Outlook stores a copy 
		of the form on your local hard disk. The next time you need to use the 
		form, Outlook checks this forms cache. If the form is in the cache, 
		Outlook goes to the form&amp;#39;s original location to check the form&amp;#39;s 
		Modified timestamp. If a user has modified the form since Outlook cached 
		it, Outlook opens the form from its original location and updates the 
		cache with the modified version. If no one has modified the form since 
		Outlook cached it, Outlook loads the form from the cache, which is 
		usually much faster than opening it from the original location.&lt;/p&gt;
		&lt;p&gt;If the required form isn&amp;#39;t in the cache, Outlook looks in other 
		locations, in this order:&lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;The forms library&amp;nbsp;for the currently displayed folder&lt;/li&gt;
			&lt;li&gt;Personal Forms library&amp;nbsp;- in the user&amp;#39;s default information 
			store&lt;/li&gt;
			&lt;li&gt;Organization Forms library&amp;nbsp;- on the Exchange server&lt;/li&gt;
		&lt;/ul&gt;
		&lt;p&gt;The location of the forms cache depends on the operating system, 
		where %username% is the environment variable containing the user&amp;#39;s login 
		name:&lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;Windows Vista - C:\Users\%username%\AppData\Local\Microsoft\FORMS&lt;/li&gt;
			&lt;li&gt;Windows XP - C:\Documents and Settings\%username\Local 
			Settings\Application Data\Microsoft\FORMS&lt;/li&gt;
		&lt;/ul&gt;
		&lt;p&gt;The cache contains a Frmcache.dat file, which maintains a summary of 
		cached forms and pointers to the cached files, plus a subfolder for each 
		cached form. &lt;/p&gt;
		&lt;h5&gt;Error Messages&lt;/h5&gt;
		&lt;p&gt;Error messages such as&lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;&lt;i&gt;The form required to view this message cannot be 
		displayed&lt;/i&gt; &lt;/li&gt;
			&lt;li&gt;&lt;i&gt;Can&amp;#39;t create item&lt;/i&gt; &lt;/li&gt;
		&lt;/ul&gt;
		&lt;p&gt;often signal corruption related to a custom form-either in the form 
		itself or in the data file on the client that stores forms cache 
		information. Exactly what causes forms cache corruption is not known.
		&lt;/p&gt;
		&lt;p&gt;&lt;a name="forceformreload"&gt;I&lt;/a&gt;f corruption occurs frequently and 
		clearing the forms cache (see below) does not solve the problem, you can 
		use the ForceFormReload 
		registry entry to force Outlook to reload a form from the 
		original published version when Outlook can&amp;#39;t load the form from the 
		cache. See: &lt;/p&gt;
		&lt;ul&gt;
			&lt;li&gt;
			&lt;a href="http://support.microsoft.com/?kbid=919596"&gt;How Outlook 2007 uses the forms cache and how to troubleshoot forms cache problems&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="http://support.microsoft.com/?kbid=839804"&gt;How to use the Outlook 2003 forms cache and to troubleshoot forms cache problems&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;
        &lt;h5&gt;Clearing the Forms Cache&lt;/h5&gt;
		&lt;p&gt;The first step in troubleshooting is to use the command in Outlook to 
		clear the cache using the Manage Forms dialog (&lt;b&gt;Tools | Options | Other | Advanced 
		Options | Custom Forms&lt;/b&gt;, then click &lt;b&gt;Manage Forms&lt;/b&gt;). &lt;/p&gt;
		&lt;p&gt;If that does not resolve the problem, shut down Outlook and delete 
		the entire contents of the FORMS folder (for locations, see above).&amp;nbsp; &lt;/p&gt;
        &lt;h5&gt;Notes&lt;/h5&gt;
		&lt;p&gt;The order Outlook uses to look for a form explains a common problem. Suppose 
		a user publishes a new form in the Personal Forms library. Later, the 
		user makes changes to the form and publishes the revised form under the same 
		name but in a different library-Organization Forms. When the user opens 
		an item that uses the custom form for the first time, Outlook loads the 
		version in the Personal Forms Library because Outlook checks that 
		location first, but that version won&amp;#39;t include the revisions on the 
		version the user saved in the Organization Forms Library.&lt;/p&gt;
		&lt;p&gt;The stumbling block is the copy in the Personal Forms library. The 
		solution is to delete that copy by using the Manage Forms dialog (&lt;b&gt;Tools 
		| Options | Other | Advanced Options | Custom Forms&lt;/b&gt;, then click &lt;b&gt;
		Manage Forms&lt;/b&gt;). After you delete that copy, the Organization Forms 
		copy usually loads fine. If it doesn&amp;#39;t, make sure that you&amp;#39;re 
		incrementing the version number on the form&amp;#39;s &lt;b&gt;(Properties)&lt;/b&gt; page. 
		You can also try using the form to create a new item. When opening a 
		previously created item doesn&amp;#39;t load the updated form into the cache, 
		creating a new item sometimes does the job.&lt;/p&gt;
</description>
      <link>http://www.outlookcode.com/article.aspx?id=64</link>
      <pubDate>Tue, 06 Nov 2007 21:54:56 GMT</pubDate>
    </item>
  </channel>
</rss>