Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB5] Esportare dati in file excel

    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

  2. #2

    Moderazione

    Le discussioni relative a VB5 non sono trattate qui, ma nell'apposita sottosezione; inoltre, il linguaggio di riferimento va indicato nel titolo del thread.

    Correggo e provvedo a spostare il thread.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Studiati l'esempio che trovi qui:

    Early-Late Binding con Excel e Outlook
    http://nuke.vbcorner.net/Articles/VB...T/Default.aspx


    incui tratto particolarmente proprio l'aspetto sulla compatibilità tra versioni diverse,sfruttando entrambe le tecniche di binding (early e late).

    Il progetto è per VB6.0, ma puoi sempre aprire i moduli con il blocco note e copiarti il codice in VB5.0.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.