Bonjour à tous je viens de modifier ma macro qui génère un pdf et l'imprime par pdfcreator.
Cette macro permet de sauvegarder le fichier dans le répertoire courant sinon dans un répertoire que je le précise moi même.
Ce que je veux c'est renommer mon fichier .doc par ses propriétés que je récupère par la fonction suivante :
ce code me récupère version et numéro du fichier Exemple : V1.0_N°9999
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Sub test() Debug.Print d.CustomDocumentProperties("N°").Value Debug.Print d.CustomDocumentProperties("V").Value End Sub
Je veux que mon quand je génère le fichier .pdf son nom devient :
V1.0_N°9999.pdf
Voila le code de ma macro qui génère le fichier .pdf
Pouvez vous s'il vous plait m'aider à compléter ma macro ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Sub PDF() ' Dim oldPrinter As String Dim stChemin As String Dim stNom As String Dim PDFCreator1 As New clsPDFCreator ' Affichage de la fenêtre de PDF Shell "C:\PDFCreator.exe", vbNormalFocus oldPrinter = ActivePrinter 'On va mettre en mémoire dans une 'variable le nom de l'imprimante par défaut ActivePrinter = "PDFCreator" 'Mettre comme imprimante par défaut PDFCreator If Len(ActiveDocument.Path) = 0 Then stChemin = "C:\xxxx" Else: stChemin = ActiveDocument.Path End If 'Si le document n'a pas été sauvegardé, le PDF sera dans le répertoire 'et un nom par défaut documentPDF If Len(ActiveDocument.Name) = 0 Then stNom = "DocumentPDF.pdf" Else stNom = ActiveDocument.Name End If 'les option PDFCreator With PDFCreator1 .cOption("UseAutosave") = 1 .cOption("UseAutosaveDirectory") = 1 .cOption("AutosaveDirectory") = stChemin .cOption("AutosaveFilename") = stNom .cOption("AutosaveFormat") = 0 ' 0 = PDF .cStart .cClearCache End With ActiveDocument.PrintOut Background:=True PDFCreator1.cClose ActivePrinter = oldPrinter End Sub
Partager