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
| '------- ci dessous on récupère le chemin d'accès au bureau de l'utilisateur, puis on génère le nom complet (avec chemin d'accès + nom du fichier + ".pdf")
Dim Wsh As WshShell
Dim cheminbureau As String
Dim nomfichierPDF As String
Set Wsh = New WshShell
cheminbureau = Wsh.SpecialFolders.Item("Desktop") 'répertoire du Bureau
nomfichierPDF = cheminbureau & "\CDES envoyées par mail\Commande " & abrégé & ".pdf"
Set WshShell = Nothing
On Error GoTo err
Dim oFSO As Scripting.FileSystemObject
Dim oDrv As Drive
Dim oFld As Folder
'Instanciation du FSO
Set oFSO = New Scripting.FileSystemObject
'Crée le repertoire
Set oFld = oFSO.CreateFolder(cheminbureau & "\CDES envoyées par mail")
err:
'--------- on crée le pdf qui sera enregistré selon le chemin d'accès généré ci dessus
DoCmd.OutputTo acOutputReport, "E_commande", acFormatPDF, nomfichierPDF
'-------- instruction SQL permettant de récupérer l'adresse mail du contact tiers sélectionné sur le formulaire
strSQL = "SELECT [T_contacts tiers].Email FROM [T_contacts tiers] GROUP BY [T_contacts tiers].Email, [T_contacts tiers].ID_contact_tiers HAVING ((([T_contacts tiers].ID_contact_tiers)= " & Me.ID_contact_tiers & "))"
'-------- on parcourt le résultat de la requête avec le recordset pour sélectionner l'adresse mail
Set rst = CurrentDb.OpenRecordset(strSQL)
If IsNull(rst("Email")) Then
Adresse_Mail = ""
Else
laposition = InStr(1, rst("Email"), "#mailto:", vbBinaryCompare)
'rst("Email") est ce que l'on récupère de la requête : sous la forme moi@adm.fr#mailto:moi@adm.fr#
'Avec inst, on trouve l'emplacement dans la chaîne de caractères de #mailto:", cela nous donne la position de # (dans l'exemple cette position est 11)
'Puis ci dessous on récupère juste la partie qui nous intéresse : l'adresse mail
Adresse_Mail = Left(rst("Email"), laposition - 1)
End If
rst.Close
Set rst = Nothing
'on appelle la fonction placée dans le module "envoi cde_mail", avec les bons paramètres
Call CreateEmail(Adresse_Mail, "Commande " & abrégé, "Bonjour," & Chr(13) + Chr(10) & "Merci de bien vouloir enregistrer la commande ci-jointe, sous la référence " & abrégé, nomfichierPDF)
fin:
End Sub |
Partager