› Sviluppare funzionalita su Microsoft Office con VBA › Stampa in PDF escludendo la formattazione condizionale
-
AutoreArticoli
-
Buongiorno, sono ancora qui e spero che sia l'ultima richiesta. Volevo sapere se è possibile escludere dalla stampa in PDF di un foglio di lavoro la formattazione condizionale presente in varie celle. Posto il codice che utilizzo. In pratica alcune celle si colorano in base al tipo di valore in cui in esse è presente. Vorrei che questi colori scomparissero nel momento in cui lancio il comando di stampa. Grazie.
'Pulsante Stampa Sub Stampa_Clic() blPulsante = True blStampa = True Dim nomefile As String nomefile = Orari dal " & ActiveSheet.Name If Cells(40, 3).Value <> "" Then With ActiveSheet .PageSetup.PrintArea = "$B$10:$R$69" .ExportAsFixedFormat Type:=xlTypePDF, Filename:=nomefile, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True End With 'ActiveWorkbook.PrintPreview 'Stampa 2 pagine Else With ActiveSheet .PageSetup.PrintArea = "$B$10:$R$39" .ExportAsFixedFormat Type:=xlTypePDF, Filename:=nomefile, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True End With 'ActiveWorkbook.PrintPreview 'Stampa 1 pagina End If blPulsante = False blStampa = False End Subciao a tutti,
ciao Alex,
posta il file con i tentativi che hai fatto per raggiungere il tuo obiettivo e mostra gli eventuali
problemi che hai incontrato nella stesura del codice.
Sicuramente qualcuno cercherà di aiutarti.
ciao
Frank
una delle soluzioni possibili:
'Pulsante Stampa Sub Stampa_Clic() blPulsante = True blStampa = True Dim nomefile As String nomefile = "Orari dal " & ActiveSheet.Name If Cells(40, 3).Value <> "" Then - With ActiveSheet '=========================================================================================================== ' =========== DA LEGGERE CON ATTENZIONE FINO AD End Sub =========== ' Quindi non alleghi file, non fai tentativi.... ma se devi farti un uovo sodo......??????? ' ' 'Comunque, su una copia del file: ' 'con il registratore di macro, registrane una per ogni regola di formattazione condizionale, ' 'poi accorpale in un'unica macro che chiamerai form_cond. ' ' ' a questa riga inserisci l'istruzione .Cells.FormatConditions.Delete .PageSetup.PrintArea = "$B$10:$R$69" .ExportAsFixedFormat Type:=xlTypePDF, Filename:=nomefile, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True '==================================================== ' a questa riga inserisci questa istruzione Call form_cond '==================================================== End With 'ActiveWorkbook.PrintPreview 'Stampa 2 pagine Else With ActiveSheet ' a questa riga inserisci l'istruzione .Cells.FormatConditions.Delete .PageSetup.PrintArea = "$B$10:$R$39" .ExportAsFixedFormat Type:=xlTypePDF, Filename:=nomefile, _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True '==================================================== ' a questa riga inserisci questa istruzione Call form_cond '==================================================== End With 'ActiveWorkbook.PrintPreview 'Stampa 1 pagina End If blPulsante = False blStampa = False '=================================================================================== ' Ora testa la macro sulla copia del file e se fa ciò che è il tuo obiettivo, ' incollala sul file originale sostituendo la tua. ' Buon lavoro. ' Frank '=================================================================================== End Sub -
AutoreArticoli
