[VB] champ possible pour un objet Outlook.ContactItem

champ possible pour un objet Outlook.ContactItem [VB] - VB/VBA/VBS - Programmation

Marsh Posté le 19-06-2007 à 13:15:02    

Bonjour à tous
 
Je souhaite rentrer des contacts dans une liste de contact outlook.
Pour l'instan j'utilise ca :  

Code :
  1. Dim myOlApp As New Outlook.Application
  2.    Dim myNameSpace As NameSpace
  3.    Dim myFolder, myFolders, myContactFolder As MAPIFolder
  4.    Dim myNewContact As Outlook.ContactItem
  5.    Set myOlApp = CreateObject("Outlook.Application" )
  6.    Set myNameSpace = myOlApp.GetNamespace("MAPI" )
  7.    Set myFolder = myNameSpace.Folders("Dossiers publics" )
  8.    Set myFolders = myFolder.Folders("Favoris" )
  9.    Set myContactFolder = myFolders.Folders("Contacts logicarch" )
  10.      
  11.    Set myNewContact = myContactFolder.Items.Add(olContactItem)
  12.    With myNewContact
  13.         .FirstName = Me.sf_contact!CON_PRENOM
  14.         .LastName = Me.sf_contact!CON_NOM
  15.         If Not IsNull(Me.sf_contact!CON_MAIL) Then
  16.             .Email1Address = Me.sf_contact!CON_MAIL
  17.         End If
  18.         .Save
  19.    End With
  20.     MsgBox "Contact Ajouté"
  21.     Set myOlApp = Nothing
  22.         End If
  23.     Else
  24.         MsgBox "Sélectionnez un contact", vbExclamation
  25.     End If


 
Ca marche bien mais j'aimerais rentrer d'autre information : le téléphone, la société etc...
 
Où puis-je trouver les champs possible à rentrer avec cette méthode svp ?

Reply

Marsh Posté le 19-06-2007 à 13:15:02   

Reply

Marsh Posté le 19-06-2007 à 13:20:36    

En bas de cette page il y a une liste de propriétés ; ça doit être ce qu'il te faut.
http://msdn2.microsoft.com/en-us/l [...] e.11).aspx


Message édité par tegu le 19-06-2007 à 13:20:58
Reply

Marsh Posté le 19-06-2007 à 15:15:03    

Super :)
 
Je suis passé sur cette page mais j'ai même pas fait gâffe au bordel de lien qu'il y avait en bas ... ;)
 
merci

Reply

Marsh Posté le 19-06-2007 à 15:26:53    

J'ai un peu avancé, mais je n'arrive pas a supprimer ou même séléctionner un contact en VB.
 
J'aimerais avoir un moyen de savoir si le contact est déjà sur Outlook et si oui le modif ou supprimer...

Reply

Marsh Posté le 19-06-2007 à 15:45:41    

J'arrive a supprimer mais en mettant explicitement le nom du champ en texte :
 

Code :
  1. Dim myolApp As New Outlook.Application
  2.    Dim myNameSpace As NameSpace
  3.    Dim myFolder, myFolders, myContactFolder As MAPIFolder
  4.    Dim myNewContact As Outlook.ContactItem
  5.     Dim strPrompt As String
  6.    Set myolApp = CreateObject("Outlook.Application" )
  7.    Set myNameSpace = myolApp.GetNamespace("MAPI" )
  8.    Set myFolder = myNameSpace.Folders("Dossiers publics" )
  9.    Set myFolders = myFolder.Folders("Favoris" )
  10.    Set myContactFolder = myFolders.Folders("Contacts logicarch" )
  11.    Set myNewContact = myContactFolder.Items.Find(("[FileAs] = ""AMPLITUDE(toto, toto)"" and [FirstName] = ""toto""" ))
  12.    
  13.     strPrompt = "Are you sure you want to delete the folder?"
  14.     If MsgBox(strPrompt, vbYesNo + vbQuestion) = vbYes Then
  15.         myNewContact.Delete
  16.         MsgBox ("Folder deleted" )
  17.     End If


 
Le problème c'est que j'aimerais mettre des variables venant de mon formulaire a la place de AMPLITUDE(toto, toto) et de toto ...
 
J'ai essayé en utilisant une string intermédiaire ca marche pas, en metant directement la chaine que je veux (Me.SOC_NOM & "(" & Me.sf_contact!CON_NOM & ", " & Me.sf_contact!CON_PRENOM & " )" ) ca marche pas non plus :(

Reply

Marsh Posté le 19-06-2007 à 16:45:25    

Essaie ça, en vérifiant les champs et tout :

(...) .Find(("[FileAs] = """ & Me.SOC_NOM & "(" & Me.sf_contact!CON_NOM & ", " & Me.sf_contact!CON_PRENOM & " )" & """ and [FirstName] = """ & Me.sf_contact!CON_NOM & """" ))

Reply

Marsh Posté le 19-06-2007 à 17:19:45    

Merci de ton aide :)
 
J'y suis arrivé en utilisant  

Code :
  1. sFilter = "[FileAs]= " & Chr(34) & Me.SOC_NOM & "(" & Me.sf_contact!CON_NOM & ", " & Me.sf_contact!CON_PRENOM & " )" & Chr(34)


 
après je met le sFilter dans le Find et ca marche !!!
 
Je sais pas à quoi sert ce Chr(34) ni à quoi il correspond mais sans ca marche pas et avec ca marche !!!  :bounce:

Reply

Marsh Posté le 20-06-2007 à 16:20:21    

34 est le code ASCII de "
Donc Chr$(34) renvoie le caractère "
Cela évite de jongler avec les doublements de quotes dans une chaine String, qui devient vite difficile comme tu l'as vu.
Après c'est selon les habitudes.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed