Compartir a través de


Método PropertyAccessor.SetProperty (Outlook)

Establece el valor de la propiedad especificada por SchemaName en el valor especificado por Value.

Sintaxis

expresión. SetProperty( _SchemaName_ , _Value_ )

Expresión Variable que representa un objeto PropertyAccessor .

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
SchemaName Obligatorio String Nombre de una propiedad cuyo valor se va a establecer según lo especificado por el parámetro Value . El espacio de nombres hace referencia a la propiedad. Para obtener más información, vea Hacer referencia a propiedades por espacio de nombres.
Valor Obligatorio Variant Valor que se va a establecer para la propiedad especificada por el parámetro SchemaName .

Comentarios

Si la propiedad no existe y SchemaName contiene un especificador de propiedades válido, SetProperty crea la propiedad y asigna el valor especificado por Value. Si la propiedad existe y el valor de SchemaName es válido, SetProperty asigna la propiedad con el valor especificado por Value.

Tenga en cuenta que no se admite en una vista personalizada una propiedad personalizada creada usando PropertyAccessor. Si quiere ver una propiedad personalizada en un elemento, cree la propiedad usando el método Add del objeto UserProperties.

Si el objeto primario de PropertyAccessor admite explícita operación de Guardar y, a continuación, las propiedades se deben guardar en el objeto con un explícitas Guardar llamada al método. Si el objeto no admite explícita operación de Guardar y, a continuación, las propiedades se guardan en el objeto cuando se llame a SetProperties.

Tenga cuidado y asegúrese de que se controlan todas las excepciones correctamente. Las condiciones en las que el establecimiento de las propiedades genera un error incluyen las siguientes:

  • La propiedad es de sólo lectura, ya que algunas propiedades de Outlook y MAPI son de sólo lectura.

  • La propiedad a la que hace referencia el espacio de nombres especificado no se encuentra.

  • La propiedad se especifica en un formato no válido y no se puede analizar.

  • La propiedad no existe y no se puede crear.

  • La propiedad existe pero se pasa a un valor de un tipo que no es correcto.

  • No se puede abrir la propiedad porque el cliente no está conectado.

  • La propiedad se crea mediante el método UserProperties.Add. Al establecer la propiedad por primera vez, debe usar la propiedad UserProperty.Value en lugar del método SetProperties o SetProperty del objeto PropertyAccessor.

Para obtener más información sobre cómo establecer propiedades mediante el objeto PropertyAccessor , vea Procedimientos recomendados para obtener y establecer propiedades.

Ejemplo:

El ejemplo de código siguiente muestra cómo se usa PropertyAccessor para establecer una propiedad personalizada en un objeto MailItem en un valor. Si la propiedad personalizada no existe, PropertyAccessor.SetProperty crearán y, a continuación, establezca la propiedad. La propiedad se guarda con el método MailItem.Save.

Sub DemoPropertyAccessorSetProperty() 
 Dim myProp As String 
 Dim myValue As Variant 
 Dim oMail As Outlook.MailItem 
 Dim oPA As Outlook.PropertyAccessor 
 'Get first item in the inbox 
 Set oMail = _ 
 Application.Session.GetDefaultFolder(olFolderInbox).Items(1) 
 'Name for custom property using the MAPI string namespace 
 myProp = "http://schemas.microsoft.com/mapi/string/" & _ 
 "{FFF40745-D92F-4C11-9E14-92701F001EB3}/myCustomer" 
 myValue = "Dan Wilson" 
 'Set value with SetProperty call 
 'If the property does not exist, then SetProperty 
 'adds the property to the object when saved. 
 'The type of the property is the type of the element 
 'passed in myValue. 
 On Error GoTo ErrTrap 
 Set oPA = oMail.PropertyAccessor 
 oPA.SetProperty myProp, myValue 
 
 'Save the item 
 oMail.Save 
 Exit Sub 
ErrTrap: 
 Debug.Print Err.Number, Err.Description 
End Sub

Consulte también

Objeto PropertyAccessor

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.