2009-10-05 8 views
0

Comment ajouter des champs personnalisés Outlook dans l'accès ms? Exemple:outlook programming

Set objOutlook = CreateObject("Outlook.Application") 
Set item = objOutlook.CreateItem(2) 
Set nms = objOutlook.GetNamespace("MAPI") 
Set fldContacts = nms.GetDefaultFolder(10) 
Set itms = fldContacts.Items 
Set item = itms.Add 
    item.FirstName = Me.FirstName 
    ... 
    item.Email1Address = Me.Email 
    item.Fields("ClientId") = "Client1" 
    item.Display 

item.Fields ("ClientId") = "Client1" -> Cette ligne ne fonctionne pas, aucune idée comment faire fonctionner cette chose? Merci!!

Répondre

0

Je n'ai pas accès à Outlook pour tester maintenant, mais il semble que ce devrait être

item.Fields("ClientId").Text = "Client1" 

ou

item.Fields("ClientId").Value = "Client1" 

En d'autres termes, il semble que votre code tente pour transformer un contrôle en chaîne ("Client1"), lorsque vous souhaitez définir le texte (ou la valeur) du contrôle sur la chaîne "Client1".

+0

Merci david pour la réponse. Mais encore j'ai eu "Erreur d'exécution '438' Objet ne supporte pas cette propriété ou méthode" – Arnold

0

Lorsque vous créez le nouvel élément, vous devez spécifier qu'il est un contact:

Set itm = itms.Add("IPM.Contact") 
+0

Dans ce cas particulier. le problème n'est pas le type d'élément, mais le fait qu'aucun élément dans le modèle objet Outlook expose Fields(). Le type est correct - 10 est olFolderContacts, donc appeler Items.Add sans aucun paramètre renvoie l'objet ContactItem. –