OVH Cloud OVH Cloud

Email1DisplayName

7 réponses
Avatar
christophe
Bonjour

J'ai ecrit en VB un programme qui depuis un fichier csv importe des contacts
dans un folder de Outlook, mais je ne peux changer la propriete
Email1DisplayName
car elle est en lecture seule
voici mon programme

Sub lirefichiercsv()

Dim objApp As Outlook.Application
Dim objNS As Outlook.NameSpace
Dim objContacts As MAPIFolder
Dim objContact As Outlook.ContactItem
Dim objISRs As MAPIFolder
Dim objISR As Outlook.TaskItem
Dim fso As Variant


Dim objStream As Variant
Dim strFileName As String
Dim strLine As String
Dim arr() As String


Set myOlApp = CreateObject("Outlook.Application")
Set myNamespace = myOlApp.GetNamespace("MAPI")
Set myFolder = myNamespace.Folders("Dossiers personnels")
Set myContactFolder = myFolder.Folders("Contacts")
Set lecontact = myContactFolder.Folders("folder")
Set myNewContact = lecontact.Items.Add(olContactItem)


strFileName = "c:\dada.csv"
If strFileName <> "" Then
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(strFileName) Then
Set objStream = fso.OpenTextFile(strFileName)

strLine = objStream.ReadLine

Do Until objStream.AtEndOfStream
strLine = objStream.ReadLine
arr = Split(strLine, ",")
Set myNewContact = lecontact.Items.Add(olContactItem)



'With myNewContact

myNewContact.Title = Replace(arr(0), """", "")
myNewContact.FirstName = Replace(arr(1), """", "")
myNewContact.MiddleName = Replace(arr(2), """", "")
myNewContact.LastName = Replace(arr(3), """", "")
myNewContact.CompanyName = Replace(arr(4), """", "")
myNewContact.Department = Replace(arr(5), """", "")
myNewContact.JobTitle = Replace(arr(6), """", "")
myNewContact.Save

If (Len(arr(8)) = 0) Then
myNewContact.BusinessAddressStreet = Replace(arr(7), """",
"")
End If
If ((Len(arr(8)) <> 0) And (Len(arr(9)) = 0)) Then
myNewContact.BusinessAddressStreet = Replace(arr(7), """",
"") & Chr(LF) & Replace(arr(8), """", "")
End If
If (Len(arr(9)) <> 0) Then
myNewContact.BusinessAddressStreet = Replace(arr(7), """",
"") & Chr(LF) & Replace(arr(8), """", "") & Chr(LF) & Replace(arr(9), """",
"")
End If

myNewContact.BusinessAddressCity = Replace(arr(10), """", "")
myNewContact.BusinessAddressState = Replace(arr(11), """", "")
myNewContact.BusinessAddressPostalCode = Replace(arr(12),
"""", "")
myNewContact.BusinessAddressCountry = Replace(arr(13), """",
"")
myNewContact.BusinessTelephoneNumber = Replace(arr(14),
"""", "")
myNewContact.BusinessFaxNumber = Replace(arr(15), """", "")
myNewContact.TelexNumber = Replace(arr(16), """", "")
myNewContact.Save



myNewContact.Email1Address = Replace(arr(17), """", "")
myNewContact.Email1AddressType = Replace(arr(18), """", "")
myNewContact.Email1DisplayName = Replace(arr(19), """", "")

myNewContact.Save


myNewContact.User1 = Replace(arr(20), """", "")
myNewContact.User2 = Replace(arr(21), """", "")
myNewContact.User3 = Replace(arr(22), """", "")
myNewContact.User4 = Replace(arr(23), """", "")
myNewContact.Profession = Replace(arr(24), """", "")
myNewContact.Account = Replace(arr(25), """", "")
If (UBound(arr) = 26) Then
myNewContact.GovernmentIDNumber = Replace(arr(26), """", "")
End If
myNewContact.Save

Loop
objStream.Close
End If
End If

7 réponses

Avatar
Oliv'
*christophe que je salut a écrit *:
Bonjour

J'ai ecrit en VB un programme qui depuis un fichier csv importe des
contacts dans un folder de Outlook, mais je ne peux changer la
propriete Email1DisplayName

car elle est en lecture seule
voici mon programme



la valeur de cette propriété est celle de Fullname, donc changer Fullname


--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
OE6 : http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Avatar
christophe
Oui mais pour la propriete FullName je veux qu'elle reste egale au Nom de la
personne

et celle de Email1DisplayName
je veux quelle soit egale a cela nom de la societe (adresse email)






*christophe que je salut a écrit *:
Bonjour

J'ai ecrit en VB un programme qui depuis un fichier csv importe des
contacts dans un folder de Outlook, mais je ne peux changer la
propriete Email1DisplayName

car elle est en lecture seule
voici mon programme



la valeur de cette propriété est celle de Fullname, donc changer Fullname


--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
OE6 : http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~






Avatar
Oliv'
*christophe que je salut a écrit *:
Oui mais pour la propriete FullName je veux qu'elle reste egale au
Nom de la personne

et celle de Email1DisplayName
je veux quelle soit egale a cela nom de la societe (adresse email)

En modification cela fonctionne .

ActiveInspector.currentitem.Email1DisplayName="toto"





*christophe que je salut a
écrit *:
Bonjour

J'ai ecrit en VB un programme qui depuis un fichier csv importe des
contacts dans un folder de Outlook, mais je ne peux changer la
propriete Email1DisplayName

car elle est en lecture seule
voici mon programme



la valeur de cette propriété est celle de Fullname, donc changer
Fullname


--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook OE6 :
http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~





Avatar
christophe
Moi cela peut me donne une erreur, comme quoi la propriete est en lecture seule



*christophe que je salut a écrit *:
Oui mais pour la propriete FullName je veux qu'elle reste egale au
Nom de la personne

et celle de Email1DisplayName
je veux quelle soit egale a cela nom de la societe (adresse email)

En modification cela fonctionne .

ActiveInspector.currentitem.Email1DisplayName="toto"





*christophe que je salut a
écrit *:
Bonjour

J'ai ecrit en VB un programme qui depuis un fichier csv importe des
contacts dans un folder de Outlook, mais je ne peux changer la
propriete Email1DisplayName

car elle est en lecture seule
voici mon programme



la valeur de cette propriété est celle de Fullname, donc changer
Fullname


--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook OE6 :
http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~










Avatar
Oliv'
*christophe que je salut a écrit *:
Moi cela peut me donne une erreur, comme quoi la propriete est en
lecture seule


En création du contact ou en modification ?
à mon avis il faut d'abord le créer puis ensuite le modifier



*christophe que je salut a
écrit *:
Oui mais pour la propriete FullName je veux qu'elle reste egale au
Nom de la personne

et celle de Email1DisplayName
je veux quelle soit egale a cela nom de la societe (adresse email)

En modification cela fonctionne .

ActiveInspector.currentitem.Email1DisplayName="toto"





*christophe que je salut a
écrit *:
Bonjour

J'ai ecrit en VB un programme qui depuis un fichier csv importe
des contacts dans un folder de Outlook, mais je ne peux changer la
propriete Email1DisplayName

car elle est en lecture seule
voici mon programme



la valeur de cette propriété est celle de Fullname, donc changer
Fullname


--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/
http://www.excel-vba-francais.com/ Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook OE6 :
http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~









Avatar
christophe
J'ai essaye en modification cela ne fonctionne pas n'en plus voici le code de
ma procedure de modification


Sub modification()
'This will only work on contacts in the CURRENT folder

Set CurFolder = Application.ActiveExplorer.CurrentFolder

If CurFolder.DefaultItemType = 2 Then
MsgBox "This process may take some time. You will be notified" & _
" when complete.", , "Contact Tools Message"
Set myItems = CurFolder.Items

For i = 1 To myItems.Count
Set myItem = myItems.Item(i)

If Left(myItem.HomeFaxNumber, 2) <> "+1" And _
myItem.HomeFaxNumber <> "" Then
myItem.HomeFaxNumber = "+1" & myItem.HomeFaxNumber
ActiveInspector.CurrentItem.Email1DisplayName = "toto"
End If

If Left(myItem.BusinessFaxNumber, 2) <> "+1" And _
myItem.BusinessFaxNumber <> "" Then
myItem.BusinessFaxNumber = "+1" & myItem.BusinessFaxNumber
ActiveInspector.CurrentItem.Email1DisplayName = "toto"

End If

If Left(myItem.OtherFaxNumber, 2) <> "+1" And _
myItem.OtherFaxNumber <> "" Then
myItem.OtherFaxNumber = "+1" & myItem.OtherFaxNumber
ActiveInspector.CurrentItem.Email1DisplayName = "toto"
End If

myItem.Save

Next
MsgBox "Done!", 64, "Contact Tools Message"


Else
MsgBox "The current folder is not a Contact folder "
End If

End Sub






*christophe que je salut a écrit *:
Moi cela peut me donne une erreur, comme quoi la propriete est en
lecture seule


En création du contact ou en modification ?
à mon avis il faut d'abord le créer puis ensuite le modifier



*christophe que je salut a
écrit *:
Oui mais pour la propriete FullName je veux qu'elle reste egale au
Nom de la personne

et celle de Email1DisplayName
je veux quelle soit egale a cela nom de la societe (adresse email)

En modification cela fonctionne .

ActiveInspector.currentitem.Email1DisplayName="toto"





*christophe que je salut a
écrit *:
Bonjour

J'ai ecrit en VB un programme qui depuis un fichier csv importe
des contacts dans un folder de Outlook, mais je ne peux changer la
propriete Email1DisplayName

car elle est en lecture seule
voici mon programme



la valeur de cette propriété est celle de Fullname, donc changer
Fullname


--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/
http://www.excel-vba-francais.com/ Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives :
http://groups.google.com/group/microsoft.public.fr.outlook OE6 :
http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~














Avatar
Oliv'
*christophe que je salut a écrit *:
J'ai essaye en modification cela ne fonctionne pas n'en plus voici le
code de ma procedure de modification
il y a une erreur dans ton code tu modifies ActiveInspector.CurrentItem

(....Email1DisplayName = "toto")
alors que tu enregistres myitem.

attention tous les item d'un répertoire contact ne sont pas des contactitem,
ex listes de distrib

essaye avec ccelle ci :

Sub modification()
Dim myitem As ContactItem
'This will only work on contacts in the CURRENT folder

Set CurFolder = Application.ActiveExplorer.CurrentFolder

If CurFolder.DefaultItemType = 2 Then
MsgBox "This process may take some time. You will be notified" & _
" when complete.", , "Contact Tools Message"
Set myItems = CurFolder.Items

For i = 1 To myItems.Count
On Error Resume Next
Set myitem = myItems.Item(i)
' myItems.Item(i).Display

If myitem.CompanyName = "Testoto" Then
myitem.Display
myitem.HomeFaxNumber = "+1" & myitem.HomeFaxNumber
myitem.Email1DisplayName = "toto"
myitem.Save
End If

' If Left(myitem.HomeFaxNumber, 2) <> "+1" And _
' myitem.HomeFaxNumber <> "" Then
' myitem.HomeFaxNumber = "+1" & myitem.HomeFaxNumber
' ActiveInspector.CurrentItem.Email1DisplayName = "toto"
' End If
'
' If Left(myitem.BusinessFaxNumber, 2) <> "+1" And _
' myitem.BusinessFaxNumber <> "" Then
' myitem.BusinessFaxNumber = "+1" & myitem.BusinessFaxNumber
' ActiveInspector.CurrentItem.Email1DisplayName = "toto"
'
' End If
'
' If Left(myitem.OtherFaxNumber, 2) <> "+1" And _
' myitem.OtherFaxNumber <> "" Then
' myitem.OtherFaxNumber = "+1" & myitem.OtherFaxNumber
' ActiveInspector.CurrentItem.Email1DisplayName = "toto"
' End If


suite:
Next
MsgBox "Done!", 64, "Contact Tools Message"


Else
MsgBox "The current folder is not a Contact folder "
End If

End Sub


--
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have a nice day
Oliv'
Pour me joindre : http://cerbermail.com/?V8r2o1YHl4
les sites références:
Excel :http://www.excelabo.net http://xcell05.free.fr/
http://dj.joss.free.fr/
http://frederic.sigonneau.free.fr/ http://www.excel-vba-francais.com/
Word : http://faqword.free.fr/
Outlook : http://faq.outlook.free.fr/
les archives : http://groups.google.com/group/microsoft.public.fr.outlook
OE6 : http://www.faqoe.com/
Sql : http://sqlpro.developpez.com/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~