[Chiuso] Stampa unione con Word ..excel..pdf

Stato
Chiusa ad ulteriori risposte.

Giuseppeg6

Nuovo utente
13 Dicembre 2020
5
1
2019
0
Buonasera, praticamente io avendo una lettera Word e un file excel con tutti gli indirizzi email dei destinatari e dovendo cambiare solo il numero della lettera e il nome del destinatario ho visto che facendo la stampa unione i destinatari ricevono il file in word io invece vorrei farlo arrivare in pdf. È possibe avere qualche indicazione di come fare? Qualcuno mi ha detto che devo usare il codice vb.non sono cosa sia...grazie
 

Powerwin

VBA Expert
Supermoderatore
17 Marzo 2016
8.218
245
vicino a Milano
2019
280
Ciao
Qualcuno mi ha detto che devo usare il codice vb.non sono cosa sia.
questo non è un motivo per non imparare, il forum non è un luogo dove gli altri fanno il lavoro, ma un luogo di condivisione delle conoscenze.
Comincia a guardare questo tutorial
 
  • Like
Reactions: muni

Giuseppeg6

Nuovo utente
13 Dicembre 2020
5
1
2019
0
Ok, grazie lo stesso, chiedo scusa.. ho visto tanti di quei filmati e ho fatto tantissime prove...tutte sbagliate.. mi sono permesso anche solo per il fatto che a me serviva inserire solo questi dati e solo per una volta..






















ID Nome Data Email
2449 Andrea 01/01/2020 [email protected]
poi per quello che lei mi postato, sono stato fino alle 03.00 di questa mattina..ma ho fatto buca lo stesso..grazie ancora
 

Giuseppeg6

Nuovo utente
13 Dicembre 2020
5
1
2019
0
ho provato a scrivere in questa macro solo che mi da errore ...Tipo definito dall'utente non definito...
Visual Basic:
Sub Un_pdf()
'Application.ScreenUpdating = false
'creo un oggetto outlook
Dim obj As New Outlook.Application
'oggetto che rappresenta l’email
Dim item As Outlook.MailItem
'instanzio l’oggetto
Set item = obj.CreateItem(Outlook.OlItemType.olMailItem)

'Crea un oggetto FileDialog per scegliere la cartella in cui salvare i file

Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
With fd
'Usa il metodo Show per mostrare la finestra di dialogo e restituire l’azione dell’utente
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
'vrtSelectedItem è una stringa che contiene l’indirizzo di ogni elemento selezionato.
'E’ possibile usare qualsiasi funzione di I/O sui file utilizzando questo indirizzo.
selectedpath = vrtSelectedItem
Next vrtSelectedItem
Else
'MsgBox (“Nessuna cartella è stata selezionata.”)
Exit Sub
End If
End With

'Imposta la variabile oggetto a Nothing
Set fd = Nothing
Application.ScreenUpdating = False
MainDoc = ActiveDocument.Name
ChangeFileOpenDirectory selectedpath
For i = 1 To ActiveDocument.MailMerge.DataSource.RecordCount
'istanzio l’oggetto item per l’email
Set item = obj.CreateItem(Outlook.OlItemType.olMailItem)
With ActiveDocument.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = i
.LastRecord = i
.ActiveRecord = i

'Utilizza alcuni campi del file sorgente per impostare il nome del file pdf
'IMPORTANTE: tali campi vanno personalizzati in base a quelli effettivamente
'presenti nella sorgente dati
'—–attenti alle righe seguenti: nel database DEVE essere presente il campo denominato “nome e cognome”—-
'—–ed inoltre un campo denominato “email”——-
    docname = .DataFields("COD_FORNITORE").Value & ".pdf"
    EmailAddress = .DataFields("EMAIL").Value
' prendiamo il percorso completo del file da allegare
pdfallegato = selectedpath & "\" & docname
'—-attenti a questa riga: personalizzate a piacimento il messaggio, inteso come corpo del testo——-
'‘—-corpo del testo——-
    messaggio = "Spett. " & .DataFields("DECO_FORNITORE").Value & vbCrLf & vbCrLf & "Inviamo in allegato l'informativa del consenso sul trattamento dei dati, da restituire firmata." & vbCrLf & vbCrLf & "Distinti Saluti" & vbCrLf & "Ditta"

'‘—-oggetto del messaggio email—–
    SoggettoEmail = "Invio informativa Privacy"
End With
.Execute Pause:=False
Application.ScreenUpdating = False
End With
ActiveDocument.ExportAsFixedFormat OutputFileName:=docname, _
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
ActiveWindow.Close SaveChanges:=False

'invia tramite outlook
'imposto il destinatario
item.To = EmailAddress
'imposto il corpo del messaggio
item.Body = messaggio
'imposto l’oggetto del messaggio
item.Subject = SoggettoEmail
'allegato
Set allegato = item.Attachments
allegato.Add pdfallegato
'invio l’email
item.Send
'item.Display
Set item = Nothing
Next i

Application.ScreenUpdating = True
End Sub
 
Stato
Chiusa ad ulteriori risposte.

Sostieni ForumExcel

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