Discussione:
VBA Stampare/ExportAsFixedFormat alcuni fogli
(troppo vecchio per rispondere)
mau1791
2021-01-16 09:53:11 UTC
Permalink
Ciao a tutti,

all'interno di un file vi sono diverse cartelle:
i.e. "Menu", "Anagrafica", "DDT", "FT_1_pag1", "FT_1_pag2", "FT_1_pag3", "Riepilogo", etc.

quale codice VBA suggerite capace di stampare/creare un unico file .pdf
chiamato --> "FT_1.pdf" ossia l'insieme delle sole cartelle aventi parte dell'univoca stringa "FT_1" ?

Grazie.
Maurizio
casanmaner
2021-01-17 08:15:33 UTC
Permalink
Post by mau1791
Ciao a tutti,
i.e. "Menu", "Anagrafica", "DDT", "FT_1_pag1", "FT_1_pag2", "FT_1_pag3", "Riepilogo", etc.
quale codice VBA suggerite capace di stampare/creare un unico file .pdf
chiamato --> "FT_1.pdf" ossia l'insieme delle sole cartelle aventi parte dell'univoca stringa "FT_1" ?
Grazie.
Maurizio
Se i nomi dei fogli FT sono fissi (cioè sempre FT_1_...) vedi questo esempio:
https://www.dropbox.com/s/hpn815x9any3w62/VBA%20Stampare%20ExportAsFixedFormat%20alcuni%20fogli.xlsm?dl=0

dove nel modulo1 del progetto vba trovi questo codice:

Sub StampaFatturaPDF()
Dim sNomeFileStampa As String
Dim arrFogliDaStampare As Variant
Dim sPercorsoSalvataggio As String

arrFogliDaStampare = Array("FT_1_pag_1", "FT_1_pag_2", "FT_1_pag_3")
sNomeFileStampa = "FT_1.pdf"

sPercorsoSalvataggio = ThisWorkbook.Path
If Right(sPercorsoSalvataggio, 1) <> Application.PathSeparator Then
sPercorsoSalvataggio = sPercorsoSalvataggio & Application.PathSeparator
End If


Application.ScreenUpdating = False
Worksheets(arrFogliDaStampare).Select

On Error GoTo GestioneErrore
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=sPercorsoSalvataggio & sNomeFileStampa, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
RiprendiErrore:

Worksheets("Menù").Select
Application.ScreenUpdating = True
Exit Sub

GestioneErrore:
Select Case Err.Number
Case -2147018887
MsgBox "Un file nominato """ & sNomeFileStampa & """ risulta già aperto." & vbNewLine & _
"Chiudere il file prima di procedere alla creazione di un nuovo file.", vbCritical, "Stampa Pdf"
Case Else
MsgBox "Si è verificato un errore imprevisto!" & vbNewLine & _
"Errore numero: " & Err.Number & vbNewLine & _
Err.Description, vbCritical, "Errore VBA Imprevisto"
End Select
Resume RiprendiErrore
End Sub
mau1791
2021-01-17 09:36:08 UTC
Permalink
Post by casanmaner
Post by mau1791
Ciao a tutti,
i.e. "Menu", "Anagrafica", "DDT", "FT_1_pag1", "FT_1_pag2", "FT_1_pag3", "Riepilogo", etc.
quale codice VBA suggerite capace di stampare/creare un unico file .pdf
chiamato --> "FT_1.pdf" ossia l'insieme delle sole cartelle aventi parte dell'univoca stringa "FT_1" ?
Grazie.
Maurizio
https://www.dropbox.com/s/hpn815x9any3w62/VBA%20Stampare%20ExportAsFixedFormat%20alcuni%20fogli.xlsm?dl=0
Sub StampaFatturaPDF()
Dim sNomeFileStampa As String
Dim arrFogliDaStampare As Variant
Dim sPercorsoSalvataggio As String
arrFogliDaStampare = Array("FT_1_pag_1", "FT_1_pag_2", "FT_1_pag_3")
sNomeFileStampa = "FT_1.pdf"
sPercorsoSalvataggio = ThisWorkbook.Path
If Right(sPercorsoSalvataggio, 1) <> Application.PathSeparator Then
sPercorsoSalvataggio = sPercorsoSalvataggio & Application.PathSeparator
End If
Application.ScreenUpdating = False
Worksheets(arrFogliDaStampare).Select
On Error GoTo GestioneErrore
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=sPercorsoSalvataggio & sNomeFileStampa, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
Worksheets("Menù").Select
Application.ScreenUpdating = True
Exit Sub
Select Case Err.Number
Case -2147018887
MsgBox "Un file nominato """ & sNomeFileStampa & """ risulta già aperto." & vbNewLine & _
"Chiudere il file prima di procedere alla creazione di un nuovo file.", vbCritical, "Stampa Pdf"
Case Else
MsgBox "Si è verificato un errore imprevisto!" & vbNewLine & _
"Errore numero: " & Err.Number & vbNewLine & _
Err.Description, vbCritical, "Errore VBA Imprevisto"
End Select
Resume RiprendiErrore
End Sub
Thnks

Loading...