Esportare dati e formattare file.

di il
3 risposte

Esportare dati e formattare file.

Salve a tutti,

ho un DB costituito da una tabella principale e varie query. All'interno di una maschera ho creato un tasto "esporta" che prende varie query e le esporta in un unico file excel inserendo la query 1 al foglio 1, la query 2 al foglio 2 e cosi via. Fin qui tutto bene.
Ora vorrei modificare la formattazione del file excel di output per far si che la linea dell'intestazione venga colorata con le scritte bianche e in grassetto, che le colonne si dimensionino automaticamente in base all'intestazione e che alcune colonne siano in formato valuta.
Ho provato a cercare su internet ed ho trovato un sacco di materiale però non riesco proprio a farlo funzionare. Qualcuno saprebbe dirmi come posso fare?
Grazie a tutti
Ciao

P.S. Questo è il codice che uso per l'esportazione
Dim nomefile As String
Dim NomeUtente As String
NomeUtente = Environ("USERNAME")
nomefile = Me.nomefile

DoCmd.OutputTo acOutputQuery, "DB Query", acFormatXLSX, "C:\Users\" & NomeUtente & "\Desktop\" & nomefile & ".xlsx"

DoCmd.TransferSpreadsheet acExport, , "Analisi per Anni", "C:\Users\" & NomeUtente & "\Desktop\" & nomefile & ".xlsx", 2

DoCmd.TransferSpreadsheet acExport, , "Analisi per Linea", "C:\Users\" & NomeUtente & "\Desktop\" & nomefile & ".xlsx", 3

DoCmd.TransferSpreadsheet acExport, , "Analisi per Cliente", "C:\Users\" & NomeUtente & "\Desktop\" & nomefile & ".xlsx", 4

DoCmd.TransferSpreadsheet acExport, , "Analisi per Tipologia", "C:\Users\" & NomeUtente & "\Desktop\" & nomefile & ".xlsx", 5

DoCmd.TransferSpreadsheet acExport, , "Analisi per Trazione", "C:\Users\" & NomeUtente & "\Desktop\" & nomefile & ".xlsx", 6

MsgBox "Nuovo report creato con successo", , "Creazione riuscita"

DoCmd.Close acForm, "Crea Report"

3 Risposte

  • Re: Esportare dati e formattare file.

    COsa hai trovato...?
    Cè solo 1 modo per fare quello che chiedi... aprire il File da Automazione in BackGround e tramite il VBA applicare la formattazione... e tutto il resto... poi si salva e si chiude.
    A quel punto però, conviene rivedere tutto il metodo di EXPORT, perchè non ha senso esportare con un metodo per poi doverlo aprire in ogni caso... tuttavia è bene tu sappia che devi avere una sufficiente dimestichezza con il VBA di Access ma anche e soprattutto di Excel...
  • Re: Esportare dati e formattare file.

    Ciao Alex,
    grazie per i suggerimenti. Su internet ho trovato molte righe di codice che aprono il file e lo modificano, alcune anche da altre conversazioni in questo forum (https://www.iprogrammatori.it/forum-programmazione/access/formattazione-file-excel-access-t32824.html?hilit=esportare#p8587189) tuttavia la mia conoscenza di vba è limitata e non riesco ad adattarle al mio caso
    Potresti essere un po ' più specifico? ripensando anche al metodo di esportazione tu come faresti?

    Grazie ancora
  • Re: Esportare dati e formattare file.

    Partendo dal fatto che se vuoi formattarlo devi aprirlo da codice... il metodo migliore per esportare è, dopo averlo aperto selezionare lo sheet 1÷6 ed aprire un recordset basato sulla query ed incollare i dati usando il metodo CopyFromRecordset...

    Per fare queste cose che in se sono semplici serve però del metodo altrimenti il rischio è scrivere centinaia di righe di codice quando probabilmente ne bastano poche ben fatte.

    Sul fatto tu abbia poca pratica però è il problema più difficile a cui devi lavorare visto che hai anche già trovato esempi in rete.
Devi accedere o registrarti per scrivere nel forum
3 risposte