| 
			 
			 
    	    
		 | 
			
   
RDOUserProperties collection contains 
custom properties of an Outlook item. Note that this collection is compatible 
with the UserProperties collection in the Outlook Object Model (see
MSDN). 
On the MAPI level user property 
values are stored as regular named MAPI 
properties, but Outlook also stores the properties definitions in a special 
binary blob, which in turn is stored in another named MAPI property on the item. 
You can access the values of the user 
properties using MAPIProp.Fields, but 
RDOUserProperties collection allows to modify the user properties definitions, 
which are also used when designing a form or when managing folder fields (see
RDOFolderFields). 
  
Returned by:  
 RDOMail.UserProperties 
(and all other objects derived from RDOMail-
RDOAppointmentItem, RDOContactItem, 
RDOTaskItem, etc). 
  
  
The example below create a new task 
and adds a new user property of type olFormula. 
  
    | 
	 set Session = 
	CreateObject("Redemption.RDOSession") 
	Session.Logon 
	Set task = Session.GetDefaultFolder(olFolderTasks).Items.add 
	task.TotalWork = 3000 
	task.Subject = "Test task with a user property" 
	Set Prop = task.UserProperties.Add("TotalWork", olFormula) 
	Prop.Formula = "[Total Work]" 
	Prop.ValidationFormula = ">= 2400" 
	Prop.ValidationText = "Total work must be greater than 2400" 
	task.Save  | 
   
 
  
Properties 
Methods 
  
	
		
  | 
	 
	
		
		Derived from: 
		IDispatch
		 | 
	 
	
		
		
  | 
	 
	
		
		Properties | 
	 
	
		
		
  | 
	 
	
		| 
		 Count  | 
		
		 Returns an integer indicating 
		the count of user properties in the RDOUserProperties collection. 
		Read-only. 
		   | 
		
		  | 
	 
	
		
  | 
	 
	
		
		Methods | 
	 
	
		
		
  | 
	 
	
		| 
		 Add(Name, Type, 
		AddToFolderFields, DisplayFormat)  | 
		
		 Creates a new user property 
		in the RDOUserProperties collection. If the property with the same name 
		already exists, it will be returned unless the the old property type is 
		different from the the current type, in which case an error will be 
		raised. 
		Returns
		RDOUserProperty object. 
		  
		Name - the name of the 
		property 
		  
		Type - one of the rdoUserPropertyType enums.
		 
		  
		olText (0x1) 
		olNumber (0x3) 
		olDateTime (0x5) 
		olYesNo (0x6) 
		olDuration (0x7) 
		olKeywords (0xB) 
		olPercent (0xC) 
		olCurrency (0xE) 
		olFormula (0x12) 
		olCombination (0x13) 
		olInteger (0x14) 
		  
		AddToFolderFields - 
		optional, boolean. True if the property will be added as a custom field 
		to the folder that the item is in. This field can be displayed in the 
		folder's view. False if the property will not be added as a custom 
		field. The default value is False. 
		  
		DisplayFormat, integer, optional. If not specified, defaults to 
		0. 
		Used only if AddToFolderFields  parameter (see above) is 
		true. The meaning and the 
		possible values of the DisplayFormat parameter depend on the 
		value of the Type parameter. This parameter is essentially a zero 
		based index of the entry selected from the "Format" combobox in the 
		"Field Chooser" dialog in Outlook:   
			
				| olText (0x1) | 
				0 | 
			 
			
				| olNumber (0x3) | 
				0 - 8 | 
			 
			
				| olDateTime (0x5) | 
				0 - 15 | 
			 
			
				| olYesNo (0x6) | 
				0 - 3 | 
			 
			
				| olDuration (0x7) | 
				0 - 3 | 
			 
			
				| olKeywords (0xB) | 
				0 | 
			 
			
				| olPercent (0xC) | 
				0 - 3 | 
			 
			
				| olCurrency (0xE) | 
				0 - 1 | 
			 
			
				| olFormula (0x12) | 
				0 | 
			 
			
				| olCombination (0x13) | 
				0 | 
			 
			
				| 
		 olInteger (0x14)  | 
				0 - 3 | 
			 
		 
		    | 
		
		 See the example above 
		   | 
	 
	
		
		AddDefaultFormProperties  
		 | 
		
		Previously, 
	RDOUserProperties object opened the MAPI 
		form responsible for the custom message class and read its default 
		properties. RDOItems.Add 
		performed similar steps when a message with a custom class was created. 
		MAPI forms represent a significant performance and stability problem, 
		hence that code was moved to an explicit 
	RDOUserProperties.AddDefaultFormProperties
		method. 
		 
		 | 
		
		 set Session = CreateObject("Redemption.RDOSession") 
		Session.MAPIOBJECT = Application.Session.MAPIOBJECT 
		set Msg = Session.GetDefaultFolder(olFolderDrafts).Items.Add("IPM.Note") 
		Msg.Subject = "Required property" 
		Msg.UserProperties.AddDefaultFormProperties 
		Msg.Save 
		 | 
	 
	
		| 
		 Find(Name, 
		Custom)  | 
		
		 Locates and returns an
		RDOUserProperty object for the 
		requested user property name, if it exists, or null if it does not. 
		  
		Name - the name of the 
		property. 
		  
		Custom - variant, 
		optional. If TRUE, only custom user properties are searched. If FALSE, 
		built-in Outlook Object Properties (e.g. Subject) are returned. The 
		default value is TRUE. 
		   | 
		
		set Session = CreateObject("Redemption.RDOSession") 
		Session.logon 
		set msg = Session.GetDefaultFolder(olFolderDrafts).Items.Add 
		set Prop = msg.UserProperties.Find("Subject", false) 
		Prop.Value = "New Subject value" 
		Msg.Save | 
	 
	
		| 
		 Item(Index)  | 
		
		 Locales and returns an
		RDOUserProperty object with the 
		specified index (if the Index parameter is an integer) or a name (if the 
		Index parameter is a string). 
		  
		Index - variant. 
		Either a 1 based index of the user property or a string (user property 
		name). 
		   | 
		
		  | 
	 
	
		| 
		 Remove(Name)  | 
		
		 Removes the user property 
		with the specified name from the collection. 
		  
		.Name - the name of 
		the property  | 
		
		  | 
	 
	
		| 
		 | 
	 
	 
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
                 |