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
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.