View Single Post
  #8  
Old November 18th 07, 04:02 PM posted to microsoft.public.outlook.program_addins
Dmitry Streblechenko
external usenet poster
 
Posts: 2,116
Default More on UserProperties

So what exactly happens when you run that code? Do you see an empty property
with the right name but no value in OutlookSpy when you click IMessage?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Steve" wrote in message
...
Thank you for the reply unfortunately it still doesn't work on all
machines.
However the changes didn't break anything on previously working machines.
First let me apologize for double posting Ken Slovak politely yelled at me
for also posting in the VSTO newsgroup. Ken my apologies. Dmitry - I
noticed your app which works perfectly well on several machines I'm
working
with for testing uses a different interface. Some sample code also on
outlookcode.com by Helmut Obertanner that was inspired by yourself that
doesn't use the Outlook Object Model. Is this another potentially better
more generic approach?

Thanks
Steve

"Dmitry Streblechenko" wrote:

Try the following instead:

UserProperty prop = appt.UserProperties.Find(propertyName,Type.Missing );
if (prop == null) prop = appt.UserProperties.Add(propertyName,
OlUserPropertyType.olText, Type.Missing, Type.Missing);
prop.Value = value;
appt.Save;

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Steve" wrote in message
...
Ok here's what I got:

Microsoft.Office.Interop.Outlook.AppointmentItem appt;
string propertyName = "MyProp";

// if the property doesn't exist
if(!appt.UserProperties.Find(propertyName,Type.Mis sing))
{

appt.UserProperties.Add(propertyName,Microsoft.Off ice.Interop.Outlook.OlUserPropertyType.olText,
Type.Missing, Type.Missing);
}
appt.UserProperties[propertyName].Value = value;
appt.Save();

Steve

"Dmitry Streblechenko" wrote:

:-)
What is your code that sets the propeties and saves the item?

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Steve" wrote in message
...
Dmitry
Please use my comment for your product OutlookSpy: WOW! It does
what
it
says!

As hard as it was to articulate the differences between two systems
with
your tool I think I may have found something, finally.

Dmitry although it does require some explaination - looking at the
IMessage
GetProps tab I see lots of differences in number of properties with
each
Appointment item and values. As I suspected my userproperties have
no
values
in the system/version that doesn't work. one property that is
interesting
is
http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/urn:schemas:calendar:version.
BTW the value is 2.0. I don't see this one on systems that do work
for
my
Outlook Addin. Do you know what its for?
Can you offer an explanation why aren't my properties storing
values?
Is
it
possible my properties somehow depend on the property offset?

"Dmitry Streblechenko" wrote:

1.Yes, you can set any number of properties before calling Save
2. Provide the relevant snippets of your code and indicate what
exactly
does
not work.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Steve" wrote in message
...
1) I have seen other MVP's say that when a UserProperty is added
the
item
should be saved , can you safely add many items (like many user
properties)
before actually saving the item?

2) I am working on an Outlook addin that works great on my dev
machine
but
appearantly doesn't save/read userproperties for appointment
items
but
task
items appearantly read/save fine on most systems.













Ads