Attribute VB_Name = "Modulo_AccodaCartelleExcelInAccess" ' Il nome del corrente modulo VBA (Visual Basic for Application) ' deve iniziare con i caratteri "Modulo" ed avere estensione ".bas". ' Per importarlo dentro un Access 2007 ".accdb", esegui ' Strumenti database, Visual Basic, File, Importa file... ' e, infine, scegli il file corrente dalla finestra di importazione. ' Per eseguire ll modulo. ' Strumenti database, Visual Basic, Esegui, Esegui Sub User/Form, scelta macro, Esegui Option Compare Database Sub AccodaCartelleExcelInAccess() ' Accoda dati provenienti da cartelle Excel in una tabella Access. ' Trascritto dal link ' http://www.accessmvp.com/KDSnell/EXCEL_MainPage.htm ' http://www.accessmvp.com/KDSnell/EXCEL_Import.htm#ImpFolderFiles Dim IndirizzarioDatoreFile As String Dim CartellaDatrice As String Dim CartellaDatriceQualificata As String Dim IndirizzarioDatore As String Dim TabellaRicevente As String Dim PresentiIntestazioni As Boolean ' --> Digita qui l'indirizzario contenente le cartelle datrici da ammucchiare nella tabella ricevente. IndirizzarioDatore = "C:\AccodaInAccess\" ' --> Digita qui il nome generico delle cartelle datrici da ammucchiare nella tabella ricevente. CartellaDatriceGenerica = "datore*.xls" ' --> Digita qui True se la prima riga delle cartelle datrici contiene i nomi di campo PresentiIntestazioni = False ' --> Digita qui il nome della tabella ricevente in access. TabellaRicevente = "Zanzibar" 'Elenca i file Excel da ammucchiare nel foglio ricevente. CartellaDatrice = Dir(IndirizzarioDatore & CartellaDatriceGenerica) 'Esegue su tutti i file Excel elencati. Do While Len(CartellaDatrice) > 0 'Elabora il singolo file Excel. 'Compone il nome qualificato del file Excel datore. CartellaDatriceQualificata = IndirizzarioDatore & CartellaDatrice 'Aggiunge alla tabella i dati della cartella. DoCmd.TransferSpreadsheet _ acImport, _ acSpreadsheetTypeExcel9, _ TabellaRicevente, _ CartellaDatriceQualificata, _ PresentiIntestazioni 'Estrae il prossimo nome del file datore. CartellaDatrice = Dir() 'Esegue su tutti i file Excel elencati. Loop End Sub