Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    72

    Vb6 & Excel

    Devo fare un applicazione in VB6 che elabori dei files excel.
    Ora come leggere un file xls da vb6 lo so fare, il problema è che questi files hanno un numero di sheet\cartelle diverso per ogni file e con nomi diversi ed io devo elaborare i dati di ogni cartella.
    Quindi la domanda è, aperto un file xls, mi serve sapere quante cartelle sono presenti e leggerle una per una. COME FARE ?????
    grazie

  2. #2
    Se chiedi questa cosa vuol dire che non lo sai fare ... perchè l' Interop di excel offre una classe WOrkBook che contiene una iList WorkSheet ...
    Cosa usi OleDb?

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    72

    strano modo di rispondere

    Originariamente inviato da raffaeu
    Se chiedi questa cosa vuol dire che non lo sai fare ... perchè l' Interop di excel offre una classe WOrkBook che contiene una iList WorkSheet ...
    Cosa usi OleDb?
    è ovvio che se chiedo è perchè non so. Io comunque sino ora ho usato ADO per leggere un xls

  4. #4
    Ora come leggere un file xls da vb6 lo so fare
    :rollo:

    Se usi ADO devi fare in questo modo:

    codice:
    Public Sub GetWorkbooksSchema()
    Ti connetti con ADO 
        Dim sWorkbook As String
        sWorkbook = "...\Foglio.xls"
        
        Dim adoConnection As New ADODB.Connection
        adoConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sWorkbook & _
                                        ";Extended Properties=""Excel 8.0;HDR=Yes;"""
        adoConnection.Open
        
    Crei un catalogo con ADOX 
        Dim adoWbkAsDatabase As New ADOX.Catalog
        adoWbkAsDatabase.ActiveConnection = adoConnection
    
    Ottieni le info che ti servono 
        
        Dim adoTables As ADOX.Tables
        Set adoTables = adoWbkAsDatabase.Tables
        
    
        MsgBox adoTables.Count
    
    Loop tra i fogli 
        Dim adoTable As ADOX.Table
        For Each adoTable In adoTables
            MsgBox adoTable.Name
        Next
    
    
        adoConnection.Close
    
    Pulizia 
        Set adoConnection = Nothing
        Set adoWbkAsDatabase = Nothing
        Set adoTables = Nothing
        Set adoTable = Nothing
    
    End Sub

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    72
    Grazie,

    sto provando ad usare il tuo esempio, ,ma mi da errore di tipo non definito all'istruzione
    Dim adoWbkAsDatabase As New ADOX.Catalog
    penso manchi l'inserimento di qualche riferimento, ma quale??


    Originariamente inviato da raffaeu
    :rollo:

    Se usi ADO devi fare in questo modo:

    codice:
    Public Sub GetWorkbooksSchema()
    Ti connetti con ADO 
        Dim sWorkbook As String
        sWorkbook = "...\Foglio.xls"
        
        Dim adoConnection As New ADODB.Connection
        adoConnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sWorkbook & _
                                        ";Extended Properties=""Excel 8.0;HDR=Yes;"""
        adoConnection.Open
        
    Crei un catalogo con ADOX 
        Dim adoWbkAsDatabase As New ADOX.Catalog
        adoWbkAsDatabase.ActiveConnection = adoConnection
    
    Ottieni le info che ti servono 
        
        Dim adoTables As ADOX.Tables
        Set adoTables = adoWbkAsDatabase.Tables
        
    
        MsgBox adoTables.Count
    
    Loop tra i fogli 
        Dim adoTable As ADOX.Table
        For Each adoTable In adoTables
            MsgBox adoTable.Name
        Next
    
    
        adoConnection.Close
    
    Pulizia 
        Set adoConnection = Nothing
        Set adoWbkAsDatabase = Nothing
        Set adoTables = Nothing
        Set adoTable = Nothing
    
    End Sub

  6. #6
    Direi proprio alla libreria ADOX che non c' entra nulla con ADO ...

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.