Ciao a tutti, ho bisogno di esportare i dati di una tabella access in un file excel tramite vb5. Ho cercato nel forum ma non sono riuscito a trovare una risposa precisa al mio problema. Volevo sapere:
1) se è possibile visualizzare il file una volta riempite le celle;
2) se è possibile in qualche modo pulire le celle del foglio excel prima di scriverci i miei dati dentro, in quanto si accavallano i dati attuali con quelli salvati al precedente accesso.
3) fare in modo che il programma funzioni su tutti i pc indiferentemente dalla versione di excel installata.
Di seguito il codice che ho usato:
codice:On Error GoTo Errore If VerifyFile(App.Path & "\stampe.xls") Then 'imposto la variabile oggetto FileExcel con il nome del file xls Set FileExcel = Excel.Workbooks.Open(App.Path & "\stampe.xls") Else MsgBox "Impossibile eseguire il programma" & _ vbCrLf & "Il file " & App.Path & "\stampe.xls" & " non è stato trovato.", vbOKOnly End If 'imposto la variabile oggetto FoglioExcel con il nome del foglio da leggere Set FoglioExcel = FileExcel.Worksheets("Inventario") Dim Riga Dim Giacenza Dim SqlString Riga = 4: Giacenza = 0 'eseguo la query di ordinamento SqlString = "select magazzino.* from magazzino order by descrizione_art" With Data1_Mag .RecordSource = SqlString .Refresh End With With Data1_Mag.Recordset .MoveFirst Do Until .EOF If !quantita_art = 0 And ExcelDiv = 1 Then GoTo 20 Riga = Riga + 1 'imposto la variabile oggetto CellaFoglioExcel Set CellaFoglioExcel = FoglioExcel.Range("A" & Riga) CellaFoglioExcel = !Codice_art Set CellaFoglioExcel = FoglioExcel.Range("B" & Riga) CellaFoglioExcel = !descrizione_art Set CellaFoglioExcel = FoglioExcel.Range("C" & Riga) CellaFoglioExcel = !quantita_art Set CellaFoglioExcel = FoglioExcel.Range("d" & Riga) CellaFoglioExcel = !PREZZOCAR_ART Set CellaFoglioExcel = FoglioExcel.Range("e" & Riga) CellaFoglioExcel = !PREZZOSCAR_ART Set CellaFoglioExcel = FoglioExcel.Range("f" & Riga) CellaFoglioExcel = !PREZZOCAR_ART * !quantita_art Giacenza = Giacenza + (!PREZZOCAR_ART * !quantita_art) 20 .MoveNext Loop End With Riga = Riga + 2 Set CellaFoglioExcel = FoglioExcel.Range("D" & Riga) CellaFoglioExcel = "Tot. Giacenza € " Set CellaFoglioExcel = FoglioExcel.Range("F" & Riga) CellaFoglioExcel = Format(Giacenza, "###,###.00") 'giacenza totale Set FoglioExcel = file 'provvedo a stampare il file excel Set FoglioExcel = FileExcel.Worksheets("Inventario") 'FoglioExcel.PrintOut Set FoglioExcel = Nothing FileExcel.Close ExcelDiv = 0 Exit Sub Errore: MsgBox "Errore " & err.Number & vbCrLf & err.Description Set FoglioExcel = Nothing FileExcel.Close End Sub

Rispondi quotando