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

    [VB 5] Visual Basic ed Excel

    Ciao a tutti,

    volevo alcuni chiarimenti, se possibile, su un piccolo problema riscontrato in VB 5 quando utilizzo Excel...

    Sto realizzando un programma che letti i dati da un DB Access va ad inserirli in un foglio Excel...al termine dell'esportazione, nonostante il rilascio degli oggetti e chiusura il file XLS creato mi rimane aperto...e quindi alla chiusura di Windows mi chiede se chiudere il file...

    C'è un modo per ovviare al problema...non mi è molto chiara la situazione...

    Grazie in anticipo...

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    Posta il codice , soprattutto di apertura e chiusura di Access e Excel, magari ti sfugge qualcosa..

  3. #3
    codice:
    Public Sub Report_Polizze_Attive(Path_File_Excel As String)
    Dim db As Database
    Dim rs As Recordset
    Dim sql As String
    Dim r, c As Integer
    Dim ExcelApp As Object
    Dim Worbk As Workbook
        '**********************************************************************************
        'CREAZIONE DEL FILE EXCEL
        '**********************************************************************************
        Open Path_File_Excel For Output As #1
        Close #1
        '**********************************************************************************
        'CREAZIONE DELL'OGGETTO ExcelApp E APERTURA DEL FILE
        '**********************************************************************************
        Set ExcelApp = CreateObject("excel.application")
        ExcelApp.Workbooks.Open Path_File_Excel
        '**********************************************************************************
        'CREAZIONE DELLA QUERY PER LE POLIZZE ATTIVE
        '**********************************************************************************
        sql = "select * from Tab"
        '**********************************************************************************
        'LETTURA DATI DAL DATABASE ED ESPORTAZIOINE IN EXCEL
        '**********************************************************************************
        Set db = DAO.OpenDatabase(Path_Db_access)
        Set rs = db.OpenRecordset(sql)
            
        r = 3
        Do While Not rs.EOF
            Cells(r, 1) = rs.Fields(0)
            Cells(r, 2) = rs.Fields(1)
            Cells(r, 3) = rs.Fields(2)
            Cells(r, 4) = rs.Fields(3)
            Cells(r, 5) = rs.Fields(4)
            Cells(r, 6) = rs.Fields(5)
            r = r + 1
            rs.MoveNext
        Loop
        '**********************************************************************************
        'RILASCIO DEGLIO OGGETTI E CHIUSURA DATABASE
        '**********************************************************************************
        db.Close
        ExcelApp.Visible = True
        Set ExcelApp = Nothing
    End Sub
    Non sò proprio perchè l'applicazione Excel rimane aperta...

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    Access si chiude, perchè usi db.close

    Excel rimane aperto perchè non usi ExcelApp.Workbooks.close

  5. #5
    Ok ... funziona tutto corretamente...

    Ti ringrazio per la pronta soluzione

  6. #6
    Scusate gente...

    mi sono scordato di chiarire un altro "leggero" problemino che, ahime, non riesco a risolvere...........come si fà a cambiare il formato delle celle?

    Grazie di nuovo...e scusate la mia distrazione

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    119
    Puoi farlo ad esempio con la proprietà numberformat

    esempio:
    codice:
        oggetto.NumberFormat = "@"
        oggetto.NumberFormat = "0.000"
    Il primo formatta la cella come testo, il secondo come numero con 3 dicimali..

    Guarda nell'help di VBA, ci sono diversi esempi.

    Per gli altri formati il metodo più rapido ed efficace,seppur spartano, e quello di registrare una macro e visualizzare il codice..

    Ciao.

  8. #8
    Ti ringrazio di nuovo per il prezioso aiuto...

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.