Newsgroup: it.comp.appl.access
Titolo: salvare un file excel con data e ora e su una cartella specifica

Salve ragazzi ,
nel mio database avrei la necessità dipoter convertire i miei dati da 
access in excel per poterli mandare via email....
Ho creato un tasto report che in automatico mi permette di esportare in 
excel i dati contenuti in una mia query.
Cmq traendo spunto da una rou time presa su un libro di access
ho buttato giu questo codice :
Sub AutomazioneAccessExcel()
    Dim dbLocale As Database
    Dim Informazioni As DAO.Recordset
    Dim wbkNuovo As Excel.Workbook, wksNuovo As Excel.Worksheet
    Dim rngCorrente As Excel.Range
    Dim Nomefile As String
    On Error GoTo Errore_AutomazAccessExcel
    'Apre come recordset di tipo snapshot la tabella Movimenti
    Set dbLocale = CurrentDb()
    Set Informazioni = dbLocale.OpenRecordset _
    (" SELECT  Orders, Corriere, Data, [Pronta IL], Arrivo, Ditta, 
Cliente, Annotazioni, Truck from Informazioni where Data Like '*06' ", 
dbOpenSnapshot)
    'Attiva Excel e apre una nuova cartella di lavoro
    Set appExcel = New Excel.Application
    Set wbkNuovo = appExcel.Workbooks.Add
    Set wksNuovo = wbkNuovo.Worksheets.Add
    'Rende visibile Excel
    appExcel.Visible = True
   'Crea le intestazioni delle colonne
   With wksNuovo
    .Cells(1, 1).Value = "ORDERS"
    .Cells(1, 2).Value = "SUPPLIERS"
    .Cells(1, 3).Value = "DATE"
    .Cells(1, 4).Value = "CURRIERS"
    .Cells(1, 5).Value = "DATE READY"
    .Cells(1, 6).Value = "DATE ARRIVALS"
    .Cells(1, 7).Value = "NOTES"
    .Cells(1, 8).Value = "TRUCK"
    .Cells(1, 9).Value = "FACTORY"
    .Cells(1, 10).Value = "CLIENT"
    .Cells(1, 11).Value = "GG"
    .Cells(1, 12).Value = "DAYS"
   End With
   'Crea nel nuovo foglio di lavoro un intervallo
   'chiamato rngCorrente che va dalla cella A2 alla
   'cella Cx dove x è il numero dei record presenti
   'nel recordset
   Set rngCorrente = wksNuovo.Range(wksNuovo.Cells(2, 1), _
    wksNuovo.Cells(2 + Informazioni.RecordCount, 3))
   'Copia i valori del recordset nell'intervallo
   rngCorrente.CopyFromRecordset Informazioni
   'Crea la formula per calcolare la somma della colonna Importo
   'wksNuovo.Cells(2 + OrderSituation.RecordCount, 3).Value = _
    '"=SUM(C2:C" & LTrim(Str(OrderSituation.RecordCount) + 1) & ")"
   'Assegna alla colonna Importi il formato Valuta
   'wksNuovo.Columns("C").NumberFormat = "$ #,##0"
   'Dimensiona automaticamente le colonne
   'sulla larghezza massima di ciascuna
   wksNuovo.Columns("A:V").AutoFit
    wksNuovo.SaveAs "C:\Documents and Settings\f_join\Desktop\Report 
Giornalieri\Informazioni"
   'Chiude il recordset
   Informazioni.Close
   Exit Sub
Errore_AutomazAccessExcel:
   Beep
   MsgBox "Si è verificato il seguente errore di automazione:" & _
    vbCrLf & Err.Description, vbCritical, "Errore Automazione!"
   Set appExcel = Nothing
End Sub
questo :
wksNuovo.SaveAs "C:\Documents and Settings\f_join\Desktop\Report 
Giornalieri\Informazioni"
lo utilizzo per salvare il mio file in excel su una cartella 
predefinita.
Ora vorrei sapere se fosse possibile salvarlo in automatico come 
Informazioni06112006, quindi se fosse possibile aggiungere la data 
dicreazione, ed in automatico inviarlo in alllegato ad un destinatario 
predefinito .?
Grazie di cuore

Dopo dura riflessione, Fabrizio ha scritto :

Ragazzi qualche soluzione?
sto provando e riprovando am niente......

 predefinito .?
Devi inviarlo come allegato, credo occorra usare la classe mapi. Cerca
su 
www.sitocomune.com
, ci sono un paio di esempi.
Qui non posso aiutarti poiché per le email uso sendobject, oppure un
mailer esterno da command-line (blat.exe)
ciao,
Panathos

Il 07/11/06, Panathos ha detto :

figurati :-@
grazie ancora funziona... adesso mi metto alla ricerca di qulacosa di 
utile per l'invio in automatico di questi file in xls.

"
<oggetto> stringa "Prova messaggio"
<nomefile> stringa "c:\cartella\foglio.xls"
<server> indirizzo IP oppure nome del server smtp che sei autorizzato
ad usare
In questo modo puoi gestire l'invio singolo, così come la produzione
di files cmd da lanciare tramite operazioni pianificate, ed altre
cosette.
ciao,
Panathos