Partager via


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

ViewFields, objet

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.