Faire une macro enregistrement automatique fichier word en pdf

Fermé
Yann211 Messages postés 20 Date d'inscription samedi 3 août 2013 Statut Membre Dernière intervention 11 novembre 2022 - Modifié le 1 sept. 2019 à 15:35
Yann211 Messages postés 20 Date d'inscription samedi 3 août 2013 Statut Membre Dernière intervention 11 novembre 2022 - 1 sept. 2019 à 15:58
Bonjour,

Je travaille sur un fichier Word dont je souhaite systématiquement créer un fichier PDF à la fermeture (pour les personnes à qui est destiné ce fichier).

On m'avait alors proposé une macro qui imprime automatiquement le fichier en PDF lors de la fermeture du fichier word. Le problème est que dans ce fichier, j'ai créé en première page une sorte de sommaire dans lequel il y a des liens hypertextes qui renvoient directement à la page du chapitre concerné (le doc a plus de 500 pages) et avec cette méthode, sur le fichier PDF les liens ne fonctionnent pas (car ce sont des liens avec des emplacements sur le doc). Il faudrait donc que j'ai le même type de macro, mais au lieu d'imprimer le fichier en PDF, il faudrait qu'il enregistre le fichier en PDF et là mon problème serait résolu.

Je ne maîtrise pas les macros et encore moins la programmation, c'est pourquoi je sollicite votre aide.

Voici la première macro que j'avais ci-dessous pour l'impression en PDF qui peut servir de base pour en créer une qui enregistre en PDF.

D'avance, merci pour votre aide.

Macro impression PDF

Sub AutoClose()
Dim nfichier As String, intpos As Byte
nfichier = ActiveDocument.Name
intpos = InStrRev(nfichier, ".")
nfichier = Left(nfichier, intpos - 1)
ActiveDocument.ExportAsFixedFormat outputFileName:="C:\Users\Yann\OneDrive\ELEVES SB" & "/" & nfichier, exportFormat:=wdExportFormatPDF
End Sub
A voir également:

1 réponse

m@rina Messages postés 21132 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 5 décembre 2024 11 366
1 sept. 2019 à 15:49
Bonjour

Tout d'abord cette macro de fait pas une impression virtuelle pour laquelle il faudrait une imprimante virtuelle et la nommer.
L'enregistrement au format PDF par macro peut être fait avec trois fonctions :
- PrintOut => impression virtuelle
- SaveAs2
- ExportAsFixedFormat

Les deux dernières fonctions donnent un résultat similaire. La dernière a été créée spécifiquement pour les formats PDF et XPS. Elle permet effectivement des paramètres spécifiques au format PDF.

Et je suis étonnée, car par défaut cette macro met les liens par défaut sur les titres, parce que c'est une fonctionnalité Word par défaut d'exporter en PDF avec les liens sur les titres.

Essaie d'ajouter à la dernière ligne :
 , createbookmarks:=wdExportCreateHeadingBookmarks


Et si ça ne fonctionne toujours pas, tu peux essayer la fonction SaveAs2... :
ActiveDocument.SaveAs2 FileName:="nom du fichier.pdf", fileformat:=wdFormatPDF


A titre d'info quand même, ta macro qui a été faite par "on" a des lignes qui permettent de récupérer le nom du fichier en cours. A priori ça ne te sert à rien, puisque tu mets le nom en dur...

m@rina
0
Yann211 Messages postés 20 Date d'inscription samedi 3 août 2013 Statut Membre Dernière intervention 11 novembre 2022
1 sept. 2019 à 15:57
Merci Marina. Je n'ai pas compris ta phrase : "
A titre d'info quand même, ta macro qui a été faite par "on" a des lignes qui permettent de récupérer le nom du fichier en cours. A priori ça ne te sert à rien, puisque tu mets le nom en dur... "
0
Yann211 Messages postés 20 Date d'inscription samedi 3 août 2013 Statut Membre Dernière intervention 11 novembre 2022
1 sept. 2019 à 15:58
Les liens marchent sur un PDF mais mon sommaire est fait à partir de liens qui renvoient à des signets sur le document word (donc des emplacements dans le doc). Donc ils ne peuvent pas être actifs sur une impression PDF.
0