Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2744 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] champ possible pour un objet Outlook.ContactItem

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[VB] champ possible pour un objet Outlook.ContactItem

n°1576748
thekingsky
Posté le 19-06-2007 à 13:15:02  profilanswer
 

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 ?

mood
Publicité
Posté le 19-06-2007 à 13:15:02  profilanswer
 

n°1576750
tegu
Posté le 19-06-2007 à 13:20:36  profilanswer
 

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
n°1576814
thekingsky
Posté le 19-06-2007 à 15:15:03  profilanswer
 

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

n°1576824
thekingsky
Posté le 19-06-2007 à 15:26:53  profilanswer
 

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

n°1576834
thekingsky
Posté le 19-06-2007 à 15:45:41  profilanswer
 

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 :(

n°1576895
tegu
Posté le 19-06-2007 à 16:45:25  profilanswer
 

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 & """" ))

n°1576935
thekingsky
Posté le 19-06-2007 à 17:19:45  profilanswer
 

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:

n°1577328
tegu
Posté le 20-06-2007 à 16:20:21  profilanswer
 

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.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [VB] champ possible pour un objet Outlook.ContactItem

 

Sujets relatifs
Implémentation des méthodes dans un fichier séparé, possible?[Access] Enregistrement dans table liée Outlook !
VBA Access porbleme méthode objetSélectionner des entrées en fonction de la première lettre d'un champ
Champ de saisie sans format HTMLUne telle structure est elle possible en CSS?
Ajout CHAMP Before[VBA] Suppression d'un objet.
Mail avec Outlook ExpressQuestions de "base" ambigues sur la programmation objet
Plus de sujets relatifs à : [VB] champ possible pour un objet Outlook.ContactItem


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR