Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

conversion VBa vers Windev

2 réponses
Avatar
Albert-Pierre Hache
Bonjour à tous,
Je suis occupé de travail sur Outlook à partir de Windev 8 avec des
objets Ole Dynamique. Jusque là pas de problème. Par contre, si je suis
l'exemple donnée par MSDN pour une gestion des listes de distributions
des contacts d'Outlook, je devrais utiliser une fonction VBa
"TypeName()". Je ne retrouve pas une façon de faire sous Windev. Est-ce
que qlq'un a déjà eu ce souci et si oui comment l'a t'il résolu?
Merci d'avance pour vos réponses.

Albert-Pierre

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com

2 réponses

Avatar
elecoest
"Albert-Pierre Hache" a écrit dans le message de news:

Bonjour à tous,
Je suis occupé de travail sur Outlook à partir de Windev 8 avec des
objets Ole Dynamique. Jusque là pas de problème. Par contre, si je suis
l'exemple donnée par MSDN pour une gestion des listes de distributions
des contacts d'Outlook, je devrais utiliser une fonction VBa
"TypeName()". Je ne retrouve pas une façon de faire sous Windev. Est-ce
que qlq'un a déjà eu ce souci et si oui comment l'a t'il résolu?




Pour nous aider, aurais-tu un bout de code VB ou un lien renvoyant dessus?
Avatar
Albert-Pierre Hache
elecoest a utilisé son clavier pour écrire :
"Albert-Pierre Hache" a écrit dans le message de news:

Bonjour à tous,
Je suis occupé de travail sur Outlook à partir de Windev 8 avec des
objets Ole Dynamique. Jusque là pas de problème. Par contre, si je suis
l'exemple donnée par MSDN pour une gestion des listes de distributions
des contacts d'Outlook, je devrais utiliser une fonction VBa
"TypeName()". Je ne retrouve pas une façon de faire sous Windev. Est-ce
que qlq'un a déjà eu ce souci et si oui comment l'a t'il résolu?




Pour nous aider, aurais-tu un bout de code VB ou un lien renvoyant dessus?



Voici l'exemple de code VBa sur lequel je me base :

Dim myOlApp As New Outlook.Application
Dim myNameSpace As Outlook.NameSpace
Dim myFolder As Outlook.MAPIFolder
Dim myDistList As Outlook.DistListItem
Dim tmpRecips As Outlook.Recipients
Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set tmpRecips = myOlApp.CreateItem(olMailItem).Recipients
tmpRecips.Add myNameSpace.CurrentUser.Name
Set myFolder = myNameSpace.GetDefaultFolder(olFolderContacts)
For x = 1 To myFolder.Items.Count
If TypeName(myFolder.Items.Item(x)) = "DistListItem" Then
Set myDistList = myFolder.Items.Item(x)
For y = 1 To myDistList.MemberCount
If myDistList.GetMember(y).Name =
myNameSpace.CurrentUser.Name Then
myDistList.RemoveMembers tmpRecips
myDistList.Save
Exit For
End If
Next y
End If
Next x

Et voici le code que j'ai fait en Windev :

myOlApp est un objet OLE dynamique
myNameSpace est un objet OLE dynamique
myFolder est un objet OLE dynamique
myDistList est un objet OLE dynamique
myOlItems est un objet OLE dynamique

objFolder est un objet OLE dynamique
objItems est un objet OLE dynamique
objContacts est un objet OLE dynamique
Contacts est une chaîne
NbContacts est un entier
i,j est un entier=1
olFolderContacts est un entier

myOlApp=ObjetActif("OutLook.Application")
myNameSpace=myOlApp>>GetNamespace("Mapi")
myFolder=myNameSpace>>GetDefaultFolder(olFolderContacts)
myOlItems=myFolder>>Items

POUR i= 1 A myFolder>>Items>>Count
// *** C'est ici que je coince **** > si
TypeVar(myFolder>>Items>>Item(i)) ="DistListItem" alors //Liste de
distribution
myDistList=myFolder>>Items>>Item(i)
pour j = 1 a myDistList>>MemberCount
OlContact(myDistList>>GetMember(j),i)
FIN
sinon // Contact
OlContact(myFolder>>items(i),i)
fin
FIN



En fait, j'ai besoin de savoir si l'élément que je lit dans les
contacts est un "Contact" ou une "Liste de distribution" que je devrais
parcourir également pour aller controler les contacts s'y retrouvant
dedans.
J'ai su transposer le code mais je bloque sur le "TypeName()".
Merci pour l'aide.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com