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
|
'### constante à adapter ###
Public Const MON_PDF As String = "MonPdf"
'###########################
Sub aa()
Dim Chemin$
'/// votre traitement
'/// convertir une feuille du classeur en PDF et enregistrement automatique dans un dossier avec le format
'/// on obtient le chemin de ce fichier et on l'affecte à la variable Chemin$
Chemin$ = "C:\mon fichier_" & Format(Now, "dd mm yyyy") & ".pdf" 'à adapter
'--- Appel de la procédure qui crée un nom caché ---
Call EcrireNom(Chemin$)
'/// suite de votre traitement
End Sub
Sub bb()
Dim Chemin$
Chemin$ = LireNom
If Chemin$ = "" Then Exit Sub
MsgBox Chemin$ 'pour visualiser (à jeter)
'/// votre traitement envoi mail
'If Attachment <> "" Then
'Set AttachME = MailDoc.CREATERICHTEXTITEM("Attachment")
'Set EmbedObj = AttachME.EMBEDOBJECT(1454, Chemin$, Attachment, "Attachment")
'End If
End Sub
Sub EcrireNom(Chemin As String)
Dim WB As Workbook
Dim N As Name
Set WB = ActiveWorkbook
On Error Resume Next
Set N = WB.Names(MON_PDF)
'--- Si le nom n'existe pas on le crée ---
If Err <> 0 Then
Set N = WB.Names.Add(Name:=MON_PDF, RefersTo:=Chemin, Visible:=False)
Else
'--- Affectation du chemin au nom caché ---
N.RefersTo = Chemin
End If
On Error GoTo 0
End Sub
Private Function LireNom() As String
Dim N As Name
On Error GoTo Erreur
Set N = ActiveWorkbook.Names(MON_PDF)
LireNom = Mid(N.RefersTo, 2)
Erreur:
End Function |