Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Word Macro enregistrer en PDF avec nom de fichier prédéfini par champ de formulaire

thomasTRZ

XLDnaute Nouveau
Bonjour à tous,

Je suis en train de travailler sur un formulaire word.
Je cherche à créer une macro qui permettra d'enregistrer au format PDF ce fichier, avec un nom prédéfinie par la macro.
J'avais travaillé sur une macro similaire sur Excel, que je cherche à adapter pour word.
La voici :
VB:
Sub EnregistrerPDF()
Dim Chemin As String, NomFichier As String, madate As String, madate2 As String
 
 
a = MsgBox("Exporter en PDF ?" & Chr(13) & "En cliquant sur OK, vous pourrez choisir le dossier de destination." & Chr(10) & Chr(10) & "ATTENTION : le nom du fichier est créé automatiquement.", vbYesNo + vbQuestion)
If a = vbYes Then
 
 
    NomFichier = ActiveDocument.FormFields("nomsite")
    madate = Now()
    madate2 = Format(madate, "dd-mmmm-yyyy hh-mm")
    Chemin = .SelectedItems(1)
 
  With Application.FileDialog(msoFileDialogFolderPicker)
    If .Show = -1 Then    ' Clic sur Ok
 
    Else
 
     Exit Sub
    End If
  End With
 
  Active.Document.ExportAsFixedFormat Type:=wdTypePDF, FileName:=Chemin & "\" & NomFichier & " - " & madate2, _
                                          Quality:=wdQualityStandard, IncludeDocProperties:=True, _
                                          IgnorePrintAreas:=False, OpenAfterPublish:=True
Else
End If
 
End Sub

Le problème est que l'argument .SelectedItems(1) plante. Or c'est celui ci qui permet à l'utilisateur de choisir le dossier de destination...
Quelqu'un saurais pourquoi ?

Merci à toutes et tous !
 

kiki29

XLDnaute Barbatruc
Salut, encore un drame du copier/coller .... à quoi se rattache .SelectedItems(1) et donc sa position dans ton code ?
De même Active.Document pour ActiveDocument
Bref qqch comme ceci:

VB:
Option Explicit

Sub EnregistrerPDF()
Dim Chemin As String, NomFichier As String, madate As String, madate2 As String
Dim Rep As Long

    Rep = MsgBox("Exporter en PDF ?" & Chr(13) & "En cliquant sur OK, vous pourrez choisir le dossier de destination." & Chr(10) & Chr(10) & "ATTENTION : le nom du fichier est créé automatiquement.", vbYesNo + vbQuestion)
   
    If Rep = vbYes Then
        NomFichier = ActiveDocument.FormFields("nomsite")
        madate = Now()
        madate2 = Format(madate, "dd-mmmm-yyyy hh-mm")

        With Application.FileDialog(msoFileDialogFolderPicker)
            If .Show = -1 Then
                Chemin = .SelectedItems(1)
            Else
                Exit Sub
            End If
        End With

        ActiveDocument.ExportAsFixedFormat OutputFileName:=Chemin & "\" & NomFichier & " - " & madate2, _
                                           ExportFormat:=wdExportFormatPDF, _
                                           OpenAfterExport:=False, _
                                           OptimizeFor:=wdExportOptimizeForPrint, _
                                           Range:=wdExportAllDocument, _
                                           From:=1, To:=1, _
                                           Item:=wdExportDocumentContent, _
                                           IncludeDocProps:=True, _
                                           KeepIRM:=True, _
                                           CreateBookmarks:=wdExportCreateNoBookmarks, _
                                           DocStructureTags:=True, _
                                           BitmapMissingFonts:=True, _
                                           UseISO19005_1:=False
    End If
End Sub
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…