Sviluppare funzionalita su Microsoft Office con VBA IMPORTARE FILE .DBF IN EXCEL

Login Registrati
Stai vedendo 13 articoli - dal 1 a 13 (di 13 totali)
  • Autore
    Articoli
  • #40638 Score: 0 | Risposta

    ANTOMAN
    Partecipante

      Salve, quando cerco d'importare un file .DBF con la procedura carica dati esterni, da altre origini, da microsoft query, scegli origine dati, data base o query i file che hanno molte colonne (800) non vengono visualizzati nella cartella dove sono contenuti, vengono visualizzati i file con colonne fino a 255. Come posso fare per importare il file con pià di 800 colonne? Allego il file per facilitare il lavoro. E' possibile con una macro in VBA importare automaticamente i dati del file allegato? Ovviamente il file da importare viene aggiornato continuamente e quando accedo al file in excel in automatico deve importare il file aggiornato. Vi ringrazio della cortese attenzione.

      Con Cordialità

      Antonio Mancuso

      3281046342

       

       

       

      #40639 Score: 0 | Risposta

      mabolsie
      Partecipante

        Ciao che versione di excel hai ?

        Non vedo l'allegato

        Max

        #40640 Score: 0 | Risposta

        ANTOMAN
        Partecipante

          Buongiorno, Ti ringrazio di volermi aiutare a risolvere la mia problematica. Ho provato con 2 versioni di excel 

          1) Microsofr Office Professional Plus 2013 (non risco a visualizzare il file)

          2) Microsoft Excel  per Microsoft 365 MSO (visualizzo il file ma mi dà errore)

          Grazie ancora 

          Allegati:
          You must be logged in to view attached files.
          #40642 Score: 0 | Risposta

          Mister_x
          Partecipante
            11 pts

            ciao

            attenzione che il tuo non e' un file DBF ma un file di OpenOffice (calc) e se lo apri con questi ti mostra tutte le colonne 831 comprese nel file

            penso che excel anche l'ultima versione importa solo 256 colonne anche se a disposizione ne a di piu' ma gli sviluppatori di excel non hanno considerato di importare tali colonne in quanto non era contemplato tale misura prima dei 8 bit

            ti riposto il tuo file salvato con la versione di openoffice non in versione DBF e vedrai che con excel lo apri normalmente

            ciao

             

            Allegati:
            You must be logged in to view attached files.
            #40644 Score: 0 | Risposta

            ANTOMAN
            Partecipante

              Ti ringrazio, ma a me interessa importare automaticamente, all'apertura del file in excel, i dati del file D02_DF.DBF (che fa parte di un database che viene continuamente aggiornato). A me interessa che all'apertura del file in excel in modo automatico importi nei vari fogli diverse tabelle .DBF con i dati aggiornati, perchè il file Excel contiene molte formule che rielabora i dati dei vari fogli. In pratica a me interessa importare automaticamente, anche con il codice VBA, in un foglio Excel i dati del file D02_DF.DBF. E' possibile importare il file con la procedura  con la procedura carica dati esterni, da altre origini, da microsoft query, scegli origine dati, data base o query come per altri file .DBF oppure visto che ha molte colonne è necessario imnportarlo con il codice VBA?

               

              #40650 Score: 0 | Risposta

              mabolsie
              Partecipante

                 ciao, come mister x sono riuscito a decomprimere il file che giustamente è stato creato in  OpenOffice(calc) e a portarlo su un foglio vuoto di excel semplicemente con il trascinamento del file. Ma tu non vuoi questo 🙂 ma un programma in codice vba che in automatico ti faccia una serie di cose anche, se ho ben capito, interagire tra excel e calc. Tutto ciò non è semplice, tu che conoscenze hai di vba? Hai fatto qualche bozza da farci vedere? 

                Max

                #40651 Score: 0 | Risposta

                PMC77
                Partecipante
                  18 pts

                  Concordo con #mabolsie

                  Penso che qualcosa si possa tentare...

                  Ma avere un "ibrido" Openoffice ed Excel è davvero cercarsi grane!

                  Ciao

                  Paolo

                  #40652 Score: 0 | Risposta

                  ANTOMAN
                  Partecipante

                    Sub Macro2()
                    '
                    ' Macro2 Macro
                    '

                    '
                    With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
                    "ODBC;DSN=GESPEDATI;UID=;;SourceDB=F:\SIW\GESPE\2023\ARC\00003500;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null" _
                    ), Array("=Yes;Deleted=Yes;")), Destination:=Range("$A$1")).QueryTable
                    .CommandType = 0
                    .CommandText = Array( _
                    "SELECT d02_pres.ctr_ok, d02_pres.mese, d02_pres.matr, d02_pres.cogn, d02_pres.nome, d02_pres.g01_hl, d02_pres.g01_c01, d02_pres.g01_h01, d02_pres.g01_c02, d02_pres.g01_h02, d02_pres.g01_em, d02_pres.g" _
                    , _
                    "02_hl, d02_pres.g02_c01, d02_pres.g02_h01, d02_pres.g02_c02, d02_pres.g02_h02, d02_pres.g02_em, d02_pres.g03_hl, d02_pres.g03_c01, d02_pres.g03_h01, d02_pres.g03_c02, d02_pres.g03_h02, d02_pres.g03_em" _
                    , _
                    ", d02_pres.g04_hl, d02_pres.g04_c01, d02_pres.g04_h01, d02_pres.g04_c02, d02_pres.g04_h02, d02_pres.g04_em, d02_pres.g05_hl, d02_pres.g05_c01, d02_pres.g05_h01, d02_pres.g05_c02, d02_pres.g05_h02, d02" _
                    , _
                    "_pres.g05_em, d02_pres.g06_hl, d02_pres.g06_c01, d02_pres.g06_h01, d02_pres.g06_c02, d02_pres.g06_h02, d02_pres.g06_em, d02_pres.g07_hl, d02_pres.g07_c01, d02_pres.g07_h01, d02_pres.g07_c02, d02_pres." _
                    , _
                    "g07_h02, d02_pres.g07_em, d02_pres.g08_hl, d02_pres.g08_c01, d02_pres.g08_h01, d02_pres.g08_c02, d02_pres.g08_h02, d02_pres.g08_em, d02_pres.g09_hl, d02_pres.g09_c01, d02_pres.g09_h01, d02_pres.g09_c0" _
                    , _
                    "2, d02_pres.g09_h02, d02_pres.g09_em, d02_pres.g10_hl, d02_pres.g10_c01, d02_pres.g10_h01, d02_pres.g10_c02, d02_pres.g10_h02, d02_pres.g10_em, d02_pres.g11_hl, d02_pres.g11_c01, d02_pres.g11_h01, d02" _
                    , _
                    "_pres.g11_c02, d02_pres.g11_h02, d02_pres.g11_em, d02_pres.g12_hl, d02_pres.g12_c01, d02_pres.g12_h01, d02_pres.g12_c02, d02_pres.g12_h02, d02_pres.g12_em, d02_pres.g13_hl, d02_pres.g13_c01, d02_pres." _
                    , _
                    "g13_h01, d02_pres.g13_c02, d02_pres.g13_h02, d02_pres.g13_em, d02_pres.g14_hl, d02_pres.g14_c01, d02_pres.g14_h01, d02_pres.g14_c02, d02_pres.g14_h02, d02_pres.g14_em, d02_pres.g15_hl, d02_pres.g15_c0" _
                    , _
                    "1, d02_pres.g15_h01, d02_pres.g15_c02, d02_pres.g15_h02, d02_pres.g15_em, d02_pres.g16_hl, d02_pres.g16_c01, d02_pres.g16_h01, d02_pres.g16_c02, d02_pres.g16_h02, d02_pres.g16_em, d02_pres.g17_hl, d02" _
                    , _
                    "_pres.g17_c01, d02_pres.g17_h01, d02_pres.g17_c02, d02_pres.g17_h02, d02_pres.g17_em, d02_pres.g18_hl, d02_pres.g18_c01, d02_pres.g18_h01, d02_pres.g18_c02, d02_pres.g18_h02, d02_pres.g18_em, d02_pres" _
                    , _
                    ".g19_hl, d02_pres.g19_c01, d02_pres.g19_h01, d02_pres.g19_c02, d02_pres.g19_h02, d02_pres.g19_em, d02_pres.g20_hl, d02_pres.g20_c01, d02_pres.g20_h01, d02_pres.g20_c02, d02_pres.g20_h02, d02_pres.g20_" _
                    , _
                    "em, d02_pres.g21_hl, d02_pres.g21_c01, d02_pres.g21_h01, d02_pres.g21_c02, d02_pres.g21_h02, d02_pres.g21_em, d02_pres.g22_hl, d02_pres.g22_c01, d02_pres.g22_h01, d02_pres.g22_c02, d02_pres.g22_h02, d" _
                    End Sub

                    #40653 Score: 0 | Risposta

                    ANTOMAN
                    Partecipante

                      Ho effettuato la registrazione di macro per l'importazione di un file denominato d02_pres.dbf he si trova nel database F:\SIW\GESPE\2023\ARC\00003500 e mi ha indicato il codice scritto in precedenza. Il file è visibile con la procedura d'importazione: Dati, da altre origini, da microsoft query, database, visualizzo il file d02_pres.dbf contenuto nel database e successivamente automaticamemnte m'importa i dati del file in excel. Mentre il file allegato in precedenza, D02_DF.DBF, che ha molte colonne a differenza del file d02_pres.dbf che riesco a visualizzare e ad importare, non lo riesco a visualizzare con la procedura d'importazione indicata in precedenza e quindi non lo riesco ad importare. E' possibile cmodificando la macro importare automaticamente il file D02_DF.DBF

                       

                      #40654 Score: 0 | Risposta

                      mabolsie
                      Partecipante

                        Dunque.....

                        L' unica cosa da cambiare dovrebbe essere il contenuto della Array:   Array("SELECT D02_DF......ecc....ecc

                        potresti fare una prova, importa il file D02_DF parzializzandolo carica solo 255 colonne cosi vediamo se è un errore di procedura o di pesantezza del file.

                        #40661 Score: 0 | Risposta

                        ANTOMAN
                        Partecipante

                          Buongiorno ho provato ad eliminare colonne dal file D02_DF portandolo a 255 colonne e la procedura è funzionante (il file è visibile mentre se supera il numero di 255 colonne la procedura non lo fa visualizzare). Quindi il problema sonoil numero di colonne superiore a 255. C'è la possibilità d'importarlo con il codice VBA senza seguire la procedura d'importazione automatica di Excel?

                          #40662 Score: 0 | Risposta

                          mabolsie
                          Partecipante

                            ciao è come pensavo, scusa la domanda il tuo pc è datato? Sai quanta RAM ha?

                            Comunque puoi provare con il metodo copia /incolla o il trascinamento del file sul foglio attivo di excel.

                            Guarda questo articolo forse fa al caso tuo : https://comeaprire.com/blog/2020/10/02/file-dbf-che-cose-e-come-aprirne-uno/

                             

                            Max

                            #40669 Score: 0 | Risposta

                            mabolsie
                            Partecipante

                                  Sono mancato qualche anno, ma tornando ho scoperto che il vecchio vizio (di qualcuno) di sparire senza dare riscontri non è cambiato.

                              Ciaooo Ciaoooooo !!!

                            Login Registrati
                            Stai vedendo 13 articoli - dal 1 a 13 (di 13 totali)
                            Rispondi a: IMPORTARE FILE .DBF IN EXCEL
                            Gli allegati sono permessi solo ad utenti REGISTRATI
                            Le tue informazioni: