none
contacts+liste de distribution dans outlook RRS feed

  • Question

  • Bonjour,
    je cherche un programme  en vbscript qui modifie les emails dans les contacts et dans les listes de distributions de microsoft outlook 2007

    Merci
    • Modifié didatole mercredi 17 février 2010 21:44
    lundi 15 février 2010 21:49

Réponses

  • Bonjour,

    Voici un exemple de code qui accompli la tâche :

    Sub ListContacts()
        Dim oOL As Object
        Dim oNS As Object
        Dim oContacts As Object
        Dim oContactItem As Object
     
        Set oOL = CreateObject("Outlook.Application")
        Set oNS = oOL.GetNamespace("MAPI")
        Set oContacts = oNS.Folders(1).Folders("Contacts")
     
        For Each oContactItem In oContacts.Items
            
            oContactItem.Email1Address = Replace(oContactItem.Email1Address, "google", "live")
            oContactItems.Email1DisplayName = Replace(oContactItem.Email1DisplayName, "google", "live")        
            
        Next
     
        Set oContactItem = Nothing
        Set oContacts = Nothing
        Set oNS = Nothing
        Set oOL = Nothing
    End Sub

     

     

    Vous pouvez l’enregistrer comme macro et le lancer à partir d’un module Visual Basic for Applications.

     

    Cordialement,

    Alex

     
    Alex Petrescu - MSFT
    • Marqué comme réponse Alex Petrescu jeudi 18 février 2010 13:01
    jeudi 18 février 2010 10:33
  • Bonjour,
    merci pour votre aide, j'ai modifié un peux puisqu'il trouvé pas Folders(1) dans mon cas, voila le code
    et si vous avez une idée comment  faire les mêmes modifications pour les listes de distributions?
     
    



    Dim oOL
    Dim oNS
    Dim oContacts
    Dim oContactItem

    Set oOL = CreateObject("Outlook.Application")
    Set oNS = oOL.GetNamespace("MAPI")
    'Set oContacts = oNS.Folders(1).Folders("Contacts")

    Set MyFolder = oNS.GetDefaultFolder(10)

    For Each oContactItem In MyFolder.Items
    If oContactItem.Class <> 69 Then
    oContactItem.Email1Address = Replace(oContactItem.Email1Address, "google", "live")
    oContactItem.Email1DisplayName = Replace(oContactItem.Email1DisplayName, "google", "live")
    oContactItem.Save
    End If

    Next


    Set oContactItem = Nothing
    Set oContacts = Nothing
    Set oNS = Nothing
    Set oOL = Nothing


    • Marqué comme réponse didatole vendredi 19 février 2010 18:30
    • Non marqué comme réponse didatole vendredi 19 février 2010 18:30
    • Marqué comme réponse didatole vendredi 19 février 2010 18:30
    vendredi 19 février 2010 18:29

Toutes les réponses

  • Bonjour,

     

    Nous avons besoin de plus d’informations pour pouvoir vous aider. Quel type de modification envisagez-vous ?

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    mercredi 17 février 2010 13:23
  • Bonjour,
     
    j'ai participé à la conférence de TechDays le 8 février 2010, elle était très bien organiser, vers la stande de msdn m'on conseillé de chercher dans votre forum la reponse de ma question.

    Donc je vous explique , j'ai besoin de modifier tous  les email dans les contacts et dans les listes de diffusions : exemple

    dupont@google .fr    remplacer par     dupont@live .fr, la modification concerne  que la partie souligner, c'est à dire après  @ ..., tous qu'il existe avant ... @ ne change pas.

    Je vous remerci

    mercredi 17 février 2010 21:38
  • Bonjour,

    Voici un exemple de code qui accompli la tâche :

    Sub ListContacts()
        Dim oOL As Object
        Dim oNS As Object
        Dim oContacts As Object
        Dim oContactItem As Object
     
        Set oOL = CreateObject("Outlook.Application")
        Set oNS = oOL.GetNamespace("MAPI")
        Set oContacts = oNS.Folders(1).Folders("Contacts")
     
        For Each oContactItem In oContacts.Items
            
            oContactItem.Email1Address = Replace(oContactItem.Email1Address, "google", "live")
            oContactItems.Email1DisplayName = Replace(oContactItem.Email1DisplayName, "google", "live")        
            
        Next
     
        Set oContactItem = Nothing
        Set oContacts = Nothing
        Set oNS = Nothing
        Set oOL = Nothing
    End Sub

     

     

    Vous pouvez l’enregistrer comme macro et le lancer à partir d’un module Visual Basic for Applications.

     

    Cordialement,

    Alex

     
    Alex Petrescu - MSFT
    • Marqué comme réponse Alex Petrescu jeudi 18 février 2010 13:01
    jeudi 18 février 2010 10:33
  • merci Alex,

    Je cherchais aussi depuis pas mal de temps comment faire ce genre de macro.

    fred
    jeudi 18 février 2010 12:51
  • Bonjour,
    merci pour votre aide, j'ai modifié un peux puisqu'il trouvé pas Folders(1) dans mon cas, voila le code
    et si vous avez une idée comment  faire les mêmes modifications pour les listes de distributions?
     
    



    Dim oOL
    Dim oNS
    Dim oContacts
    Dim oContactItem

    Set oOL = CreateObject("Outlook.Application")
    Set oNS = oOL.GetNamespace("MAPI")
    'Set oContacts = oNS.Folders(1).Folders("Contacts")

    Set MyFolder = oNS.GetDefaultFolder(10)

    For Each oContactItem In MyFolder.Items
    If oContactItem.Class <> 69 Then
    oContactItem.Email1Address = Replace(oContactItem.Email1Address, "google", "live")
    oContactItem.Email1DisplayName = Replace(oContactItem.Email1DisplayName, "google", "live")
    oContactItem.Save
    End If

    Next


    Set oContactItem = Nothing
    Set oContacts = Nothing
    Set oNS = Nothing
    Set oOL = Nothing


    • Marqué comme réponse didatole vendredi 19 février 2010 18:30
    • Non marqué comme réponse didatole vendredi 19 février 2010 18:30
    • Marqué comme réponse didatole vendredi 19 février 2010 18:30
    vendredi 19 février 2010 18:29
  • Bonjour,

     

    Voici un article sur Technet qui présente une modalité d’accès aux listes de distribution avec VBA.

    http://technet.microsoft.com/fr-fr/library/ee692878(en-us).aspx

     

    Cordialement,

    Alex


    Alex Petrescu - MSFT
    lundi 22 février 2010 08:27