Changes to Subject in MailItem not reflected

D

DavidReck

I have added a group to an existing tab in the outlook 07 ribbon. One of the
controls in my group is a button that tries to read the subject from a mail
item and then append some text. If it is a new mail item the subject always
starts as null even if I have typed values in the email's subject. If it is
a reply to an existing email the subject always comes in as the originals
email's subject even if I changed it before clicking the button. I am
somewhat new to this so it could be a simple problem. It almost seems like
the subject is based on the first loading of the outlook email window and I
need to refresh it somehow before I read the value of the subject. Here is
my code.

private void EncryptEmailButton_Click(object sender,
RibbonControlEventArgs e)
{
try
{
Debug.WriteLine("EncryptEmailButton_Click");
this.BypassEncryptionEmail.Checked = false;
Microsoft.Office.Interop.Outlook.Inspector window =
Globals.ThisAddIn.Application.ActiveInspector();
if (window != null)
{
Microsoft.Office.Interop.Outlook.MailItem mail =

(Microsoft.Office.Interop.Outlook.MailItem)window.CurrentItem;
if (mail != null)
{
if (mail.Subject != null)
mail.Subject = StripMessages(mail.Subject);
mail.Subject = mail.Subject + " - Secured";
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
}

Thanks for your help
 
D

DavidReck

Well I figured out a little more. The subject of the email does get updated
but only when I leave the subject text box. If I change the subject and hit
the button the MailItem object does not reflect the changes made to the
subject, but if I change the subject, tab out of the field, and then hit the
button the MailItem objects contains the most updated version. I also
noticed that the title bar across the top of the email item is updated only
after you leave the subject field. If I want to be sure that I am getting
the most current text from the subject do I have to use the MAPIOBJECT
somehow? Any help would greatly be appreciated.
 
S

Sue Mosher [MVP-Outlook]

Try calling Save first. The changes made in the UI are committed if the user leaves the control or saves the item.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top