Sviluppare funzionalita su Microsoft Office con VBA Stampa in PDF escludendo la formattazione condizionale

Login Registrati
Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
  • Autore
    Articoli
  • #33634 Score: 0 | Risposta

    alexps81
    Moderatore
      58 pts

      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 Sub
      
      #33635 Score: 0 | Risposta

      tanimon
      Partecipante
        16 pts

        ciao 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

        #33653 Score: 0 | Risposta

        tanimon
        Partecipante
          16 pts

          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
          
          
        Login Registrati
        Stai vedendo 3 articoli - dal 1 a 3 (di 3 totali)
        Rispondi a: Stampa in PDF escludendo la formattazione condizionale
        Gli allegati sono permessi solo ad utenti REGISTRATI
        Le tue informazioni: