ViewFields.Add, méthode (Outlook)
Ajoute le champ spécifié à la fin de la collection ViewFields pour la vue.
Syntaxe
expression. Add (PropertyName)
Expression Variable qui représente un objet ViewFields .
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
PropertyName | Obligatoire | String | Nom de la propriété à laquelle le nouvel objet est associé. Cette propriété peut être référencée par un nom de champ (affiché dans le sélecteur de champs) ou par un espace de noms (représenté par ViewField.ViewXMLSchemaName). |
Valeur renvoyée
Objet ViewField qui représente le nouveau champ d'affichage.
Remarques
Pour ajouter par programme un champ personnalisé à un affichage, utilisez la méthode ViewFields.Add. Il s’agit de la méthode recommandée pour modifier dynamiquement la vue plutôt que de définir la propriété XML de l’objet View .
Le référencement de la propriété dans PropertyName avec son nom de champ nécessite le nom traduit des paramètres régionaux correspondants. Pour plus d’informations sur le référencement des propriétés par un espace de noms, voir Référencement des propriétés par un espace de noms.
Si vous ajoutez une propriété personnalisée à la collection ViewFields , la propriété doit exister dans la collection UserDefinedProperties du dossier parent de l’affichage.
Si la propriété existe déjà dans la collection ViewFields, Outlook génère une erreur.
Certaines propriétés ne peuvent pas être ajoutées à un affichage à l’aide de ViewFields.Add, notamment les propriétés binaires, les propriétés calculées, ainsi que le contenu du corps HTML ou RTF. Pour plus d’informations, voir Propriétés non prises en charge dans un objet ou un filtre Table.
Exemple
L’exemple de code Microsoft Visual Basic for Applications (VBA) suivant ajoute le champ Subject (Objet) à l’affichage actuel du dossier Inbox (Boîte de réception) en référençant son nom de champ. Pour éviter qu’Outlook ne génère une erreur, il teste la présence du champ dans la collection ViewFields représentant l’affichage actuel de la boîte de réception avant de l’ajouter.
Sub DemoViewFieldsAdd()
Dim oTableView As Outlook.TableView
Dim oViewFields As Outlook.ViewFields
Dim oViewField As Outlook.ViewField
Dim oInbox As Outlook.folder
Set oInbox = Application.Session.GetDefaultFolder(olFolderInbox)
On Error GoTo Err_Handler
If oInbox.CurrentView.ViewType = olTableView Then
Set oTableView = oInbox.CurrentView
Set oViewField = oTableView.ViewFields("Subject")
If oViewField Is Nothing Then
Set oViewField = oTableView.ViewFields.Add("Subject")
End If
End If
Exit Sub
Err_Handler:
MsgBox Err.Description, vbExclamation
Resume Next
End Sub
L’exemple de code suivant dans VBA suppose que l’affichage actuel est tableView, fait référence à la propriété Classe de message par espace de noms et l’ajoute à l’affichage actuel du dossier actif. Pour éviter qu’Outlook génère une erreur, le code recherche l’existence de cette propriété dans l’affichage avant d’appeler ViewFields.Add.
Sub ViewFieldsAdd()
Dim oFolder As Outlook.Folder
Dim oView As Outlook.TableView
Dim oViewField As Outlook.ViewField
On Error Resume Next
Dim PR_MESSAGE_CLASS As String
PR_MESSAGE_CLASS = "http://schemas.microsoft.com/mapi/proptag/0x001a001e"
Set oFolder = Application.ActiveExplorer.CurrentFolder
If oFolder.CurrentView.ViewType = olTableView Then
Set oView = oFolder.CurrentView
'Determine if the ViewField exists in ViewFields collection
If oView.ViewFields(PR_MESSAGE_CLASS) Is Nothing Then
Set oViewField = oView.ViewFields.Add(PR_MESSAGE_CLASS)
'Persist the changes
oView.Save
End If
End If
End Sub
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.