Outlook Developer News
Updated solution for a custom form list box bound to a keywords field
On an Outlook custom form, if you bind a multi-select list box to a keywords field and populate the list box's rows in code, the list box will have no selected rows when the user reopens a previously saved item, making it look like the user's data has been lost. The Form Controls Demo form has been updated to demonstrate a workaround for this issue.
The problem apparently is that the field value is applied to the control before the list box rows are populated. The solution is to use code in the form's Item_Open event handler to select the appropriate rows after the list rows have been populated, but -- to add to the complications -- it is not possible to access the value of a custom keywords field directly. A workaround for that issue is to bind a text box to the keywords property and read the value from the text box control; see More Fun with Keywords. To simplify the process of finding the row whose text matches a particular value in the keywords field, the code uses a Scripting.Dictionary object to hold the same values as the data used to populate the rows and handle the lookup.
To see the solution, download Form Controls Demo.zip (9kb, 9 Jul 09), unzip it, open the .oft file, and publish that form. Then use the published form to create a new task.
This form also demonstrates two other ways of handling a multi-select list box and two ways to handle option buttons. For more information on those controls and others, see Controls on Outlook Forms.
New hotfix for Outlook 2007 - June 30, 2009
The June 30, 2009, hotfix package for Outlook 2007 fixes several developer issues:
A new ReliableFolderMoveEvent registry entry solves a problem with the BeforeFolderMove event ceasing to fire after a while.
When applications create new categories programmatically, those categories should now still be available after a restart of Outlook.
Custom form icons that weren't displaying on Windows Vista with a high DPI display (for example, 120 DPI) should now display correctly.
In Cached Exchange Mode with the reading pane active, messages based on custom forms that have VBScript code behind them should no longer increase CPU usage or crash Outlook.
The hotfix also resolves a problem with accessing fields in CDO 1.21 applications.
Outlook 2007 Programming chapters available on MSDN
Three chapters from Sue Mosher's Microsoft Outlook 2007 Programming book are now available on MSDN:
Sample code for these chapters is available from the get Sue's code link at the top of the page.
Outlook 2007 performance improvements in SP2
Office 2007 Service Pack 2 targets Outlook with a long list of performance improvements related to .ost and .pst files, startup, shutdown, and folder switching. For details, see:
Outlook 2010: No support for Exchange client extensions
Back before Microsoft extended Outlook with support for add-ins, beginning with Outlook 2000, developers added functionality to Outlook by building Exchange client extensions -- or ECEs -- using the Extended MAPI programming interface. Microsoft in fact built its own ECEs to manage such Outlook features as deleted item recovery.
Beginning with Outlook 2010, ECEs will not load in Outlook, according to Randy Byrne of the Outlook team. Randy provides more background on ECEs in his article for the Outlook team blog, where he explains the options that ECE developers face if they want to redesign their applications to work in Outlook 2010 and asks for your feedback, especially your concerns about parity between ECE and add-in capabilities.
From the Forums
| Populate Subject Field |
| Hi There
Newbie here.
I have created a button in the NewMailMessage ribbon within Outlook 2007 and am trying to populate the email subject field with the emails category.
if you have any code examples (VSTO2008) which would help it would be... |
| Resizing Contact Activities fields won't... |
| I thought this problem may have been a bad .dat file but alas, that wasn't it.
When I open the contact's activities tab and choose journal entries, the creation date and modify date are both "squished" together. I drag the separator bar out for both... |
| catching events from dynamic controls |
| Hi everyone,
I am tasked with designing a form that would display checkboxes based
on some dynamic information items that we pull from a different source
(basically the information is not static and not coded in the form).
Because of this, we do not... |
| Looking for experience sales agents/representative... |
| Looking for experience sales agents/representative or part time freelance sales. Discover unique and proven ways to sell VoIP to home office entrepreneurs, small businesses, and the residential market. WE sell VOIP related products and services. Looking... |
| Exporting emails as msg or eml from outlook... |
| Hi,
I am trying to export emails as msg or eml files from outlook pst folders. I am trying to use Outlook Redemption with my c# .net project, but I am not really getting anywhere. Can someone guide me in the right direction, or maybe tell me another... |
| Outlook 03/07 Task creation prohrammatically... |
| Hi,
I want to read and create Outlook Tasks in .NET. I have found some examples which help you creating tasks with COM-MS Outlook Library 11.0 or 12.0.
Now I am not sure that this is a right option as I my requirements include to create task for Outlook... |
| Closing a user form |
| Hi,
I know this will be really simple but I cannot find a reference on how to do it anywhere...
I have a simple user form which I want to be able to close from it's own code module.
Basically, the form does some things then when done, it should... |
| Looking for a script to open links from emails... |
| So here is my situation. I'm using Outlook 2007. I want a script that will automatically open links (URLs) contained in emails from one specific sender. I'll be using Internet Explorer as my browser. Once the page is open I may need the script to click... |