Ho una form di inserimento dati.
Do dei nomi per essere più chiaro
Do dei nomi per essere piu chiaro
questa è la frmAnagrafica

Al termine devo produrre una stampa su documento word.
Il documento ha una parte di testo precompilata nella quale devo inserire i dati inseriti nella frmAnagrafica
Ho creato pertanto un metodo nel quale effettuo la personalizzazione dei bookmarks impostati nel documento con i valori recuperati dopo il salvataggio dei dati della frmAnagrafica.
il codice è il seguiente:
Sub openDocWord(Modulo As String, Utente As String)
Dim DirectoryModelli As String
Dim DirectoryStampePdf As String
Dim EstensionePdf As String
Dim EstensioneOdt As String
Dim DataDelGiorno As String
Dim NomeFilePdf As String
Dim FilePdf As String
Dim nomedaEditare As String
Dim WordApp As Object 'Word.Application
Dim doc As Object ' Word.Document
Dim cognN As Word.Range
DirectoryModelli = "Modelli"
DirectoryStampePdf = "StampeModelliPdf"
EstensionePdf = ".Pdf"
EstensioneOdt = ".ODT"
DataDelGiorno = Format(Date, "dd/Mm/yyyy")
FilePdf = DataDelGiorno & "_" & Utente & "_" & Modulo
NomeFileWord = "C:\AppTest\" & DirectoryModelli & "\" & Modulo & EstensioneOdt
NomeFilePdf = DirectoryStampePdf & "\" & FilePdf & EstensionePdf
On Error GoTo ERRORE
nomedaEditare = "Pinco Pallo"
Set WordApp = CreateObject("word.Application")
WordApp.Visible = False
Set doc = WordApp.Documents.Open(NomeFileWord)
doc.Bookmarks("CognomeNome").Range.Text = nomedaEditare
doc.PrintOut
' Esci da Word
doc.Quit
' Chiudi il documento Word
doc.Close SaveChanges:=False
' Rilascia gli oggetti
Set doc = Nothing
WordApp.Quit
Set WordApp = Nothing
'Stampo PDF
doc.ExportAsFixedFormat _
OutputFileName:=NomeFilePdf, _
ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, _
OptimizeFor:=wdExportOptimizeForPrint, _
Range:=wdExportAllDocument, _
From:=1, _
To:=1, _
Item:=wdExportDocumentContent, _
IncludeDocProps:=False, _
KeepIRM:=False, _
CreateBookmarks:=wdExportCreateHeadingBookmarks, _
DocStructureTags:=True, _
BitmapMissingFonts:=False, _
UseISO19005_1:=False
Exit Sub
ERRORE:
Msg = "Errore " & Str(Err.Number) & " generato da " _
& Err.Source & Chr(13) & Err.Description
MsgBox Msg, vbCritical, "Errore"
End Sub
questo metodo mi va in errore e non riesco a capire il motivo.
A volte riesce a fare la open del documento word sul quale effettuare l'aggiornamento dei bookmarks, altre volte va in errore come evidenziato.

Ho provato ad eseguire anche il codice per il salvataggio in formato .pdf (evidenziato in giallo, ma va in errore.
Vi siete mai trovati a risolvere un problema del genere ?
Grazie
Moreno