Domanda Salvare file di Word in pdf

Guerrieri

Nuovo utente
2 Dicembre 2019
3
1
2003
0
Buongiorno,

ho problemi con questa macro.
Salva i file in word invece che in pdf come vorrei.

mi potete aiutare? Grazie,
Roberto

Visual Basic:
Public Sub Test2()
On Error GoTo ErrH

' --- PERSONALIZZARE ---------- >

' Percorso di salvataggio dei file PDF:

Const cstrPath  As String = "C:\Users\Roberto\Desktop\Editore\ok\Mail-PDF\PDF\"

' Nome del Campo di stampa unione che dà il nome

' ai file pdf:

Const cstrField As String = "nome_e_cognome"

' ----------------------------- <

Dim objWdMailMerge  As Word.MailMerge
Dim lngRecNum       As Long
Dim strPath         As String
Dim strFilename     As String
  
    Application.ScreenUpdating = False
 
    Set objWdMailMerge = ThisDocument.MailMerge
    With objWdMailMerge
      .Destination = wdSendToNewDocument
      With .DataSource
        .ActiveRecord = wdLastRecord
        lngRecNum = .ActiveRecord
        .ActiveRecord = wdFirstRecord
        Do
          .FirstRecord = .ActiveRecord
          .LastRecord = .ActiveRecord
          strFilename = .DataFields(cstrField).Value
          If Len(strFilename) Then
            strFilename = cstrPath & strFilename
            objWdMailMerge.Execute
            With ActiveDocument
              .SaveAs strFilename, wdFormatPDF, AddToRecentFiles:=False
              .Saved = True
              .Close
            End With
          End If
          If .ActiveRecord = lngRecNum Then Exit Do
          .ActiveRecord = wdNextRecord
        Loop
      End With
    End With
 
ExitProc:
    Application.ScreenUpdating = True
    Set objWdMailMerge = Nothing
    Exit Sub
 
ErrH:
    MsgBox Err.Description
    Resume ExitProc
 
End Sub
 
Ultima modifica di un moderatore:

Marius44

VBA Expert
Moderatore
Expert
9 Settembre 2015
5.855
83
75
Catania
Excel2010
164
Ciao
Non sono per nulla pratico di Word ma mi sembra che in questa riga di codice manchi qualcosa
.SaveAs strFilename, wdFormatPDF, AddToRecentFiles:=False

secondo me deve essere
Visual Basic:
.SaveAs strFilename & ".pdf", wdFormatPDF, AddToRecentFiles:=False
Scusa se ho detto corbellerie.
Ciao,
Mario
 

Rubik72

Excel/VBA Expert
Supermoderatore
Expert
12 Dicembre 2015
5.828
183
47
Cosenza
Excel 2016
207
Un saluto a tutti.
G @Guerrieri ti invito a rileggere il REGOLAMENTO in particolare:
Regola nr.5 "Titolo della discussione"
Bisogna assicurarsi che il titolo sia il più chiaro possibile e che corrisponda al problema, usare termini appropriati che serviranno come meta tag per una eventuale ricerca su Google.
Evitare di scrivere frasi inutili come “Aiuto” “Urgente ” "Problema" “Non ci capisco niente”, "Sono bloccato", ecc. perché potrebbero rivelarsi non appropriate e di conseguenza le tue discussioni potrebbero non essere lette.
I titoli vanno scritti andando dritti al problema, esempio: "Cercare dati....." "Estrarre records....." "Rimuovere duplicati......." "Creare una TPivot......" ecc.
Ciò permette di capire subito l'argomento della discussione nonché di indicizzare gli argomenti da poterli trovare con facilità in caso di ricerca da parte di altri utenti.
I titoli ed i testi devono essere scritti in italiano, possibilmente corretto, sia grammaticalmente che ortograficamente; postare frasi con errori evidenti è sempre una forma di NON rispetto per chi legge.
Questa volta lo modifico io ma fai più attenzione in futuro :scoppola:
 

Powerwin

VBA Expert
Expert
17 Marzo 2016
4.517
83
vicino a Milano
2019
96
io proverei anche così sostituendo FileName con la stringa corrispondente al nome che si vuol dare al file
Visual Basic:
ActiveDocument.ExportAsFixedFormat _
     OutputFileName:=CurrentFolder & FileName & ".pdf", _
     ExportFormat:=wdExportFormatPDF
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!