Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/07/2007, 17h15   #1
Membre confirmé
 
Avatar de fabou3377
 
Inscription : juillet 2006
Messages : 181
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 181
Points : 225
Points : 225
Par défaut Envoi Mail fichier Word

Bonjour,

j'ai un fichier .dot (modèle word) que l'utilisateur charge. Dans ce fichier il y a un bouton qui contient du code pour sauver le document. J'aimerais ensuite résupérer les informations de l'utilisateur dans Active Directory afin d'envoyer ce fichier par mail.

J'ai trouvé ce code, mais apparement c'est du .net... Est-ce qu'il y a une solution d'intéger celui-ci dans du vba, ou d'appeler ce code via vba...

Je suis débutant merci pour votre aide...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
Private function ObtenirMail(byval login as string, byval motdepasse as string, byval groupe as string) as string
 try
   Dim LDAP_Chemin As String = "LDAP://ou=<mon OU>,dc=<mon DC>,dc=<mon DC>"
   ' Exemple  Dim LDAP_Chemin As String = "LDAP://ou=senyniumcorp,dc=senyniumcorp,dc=lan"
 
   ' On renseigne les informations de recherche
   Dim chemin As New DirectoryServices.DirectoryEntry
   chemin.AuthenticationType = DirectoryServices.AuthenticationTypes.Secure
   chemin.Username = login
   chemin.Password = motdepasse
   chemin.Path = LDAP_Chemin
 
   'Récuprération des informations Active Directory
   Dim rech As New System.DirectoryServices.DirectorySearcher(chemin)
   Dim result As System.DirectoryServices.SearchResult
   Dim mail As String = ""
 
   'Lister les utilisateurs
   rech.Filter = ("(objectClass=user)")
   For Each result In rech.FindAll()
     'S'assurer de l'existence du mail pour eviter
     'les comptes systemes  
      If (result.GetDirectoryEntry().Properties("mail").Value <> "") Then
         For i = 0 To result.GetDirectoryEntry().Properties("memberof").Count - 1
            tab1 = Split(result.GetDirectoryEntry().Properties("memberof").Item(i), ",")
            tab2 = Split(tab1(0), "=")
     'Vérification de l'appartenance au groupe  
            If (tab2(1) = groupe) Then
 	       mail = mail & result.GetDirectoryEntry().Properties("mail").Value
               if (i < (result.GetDirectoryEntry().Properties("memberof").Count - 1) then
                  mail = mail & ";"
               end if  
            end if
         next
      end if 
   next
   ObtenirMail = mail
  Catch ex As Exception
  End Try
end function
 
 
Private Sub EnvoiMail(byval login as string, byval motdepasse as string, byval groupe as string, ByVal De as string, ByVal sujet as string, ByVal Message as string)
   Dim m As New MailMessage
   Dim SMTP_SERV = "server"
   Try
       m.From = De
       m.Subject = sujet
       SmtpMail.SmtpServer = SMTP_SERV
     ' Au format mail  m.BodyFormat = MailFormat.Html
 
       Dim Adresses as string = ""
       Adresses = ObtenirMail(login, motdepasse, groupe)
       if (trim(Adresse) <> "") then
          m.Body = Message
          m.To = Adresses
          SmtpMail.Send(m)
       end if 
    Catch ex As Exception
    End Try
End Sub
 
'Exemple d'utilisation
 
EnvoiMail("monlogin", "Monmotdepasse", "GPE_Administrateurs", "MonMail", "Salut", "Juste un bonjour")
fabou3377 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 17h46   #2
Membre chevronné
 
Inscription : mai 2006
Messages : 730
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 730
Points : 790
Points : 790
Hum,

effectivement c'est du .net, tu veux l'adapter en VBA et ici, c'est du VB6... c'est pas gagné...

Récupérer les infos de l'utilisateur pour envoyer un email ? Si tu es débutant, je ne suis pas sûr que ce soit le plus facile. Quelles sont les contraintes de ton projet ? Client de messagerie ? etc.
Phifi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2007, 23h15   #3
Membre confirmé
 
Avatar de fabou3377
 
Inscription : juillet 2006
Messages : 181
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 181
Points : 225
Points : 225
Merci pour ta réponse le but est le suivant:

J'ai un formulaire Word avec des signets et un bouton envoyer. Lorsque l'utilisateur clique sur le bouton, on récupère son adresse e-mail dans l'Active Directory, on enregistre le document, et on envoie ce document à une adresse mail identique pour tous les cas.
fabou3377 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h13.


 
 
 
 
Partenaires

Hébergement Web