Public Function importa_dati()
Dim FD As FileDialog 'Dichiarazione della variabile "fd" come una variabile FileDialog object.
Set FD = Application.FileDialog(msoFileDialogFolderPicker) 'creiamo l'oggetto FileDialog come finestra di dialogo per le cartelle e lo 'assegniamo alla variabile "fd"
'Sotto: dichiarariamo la variabile "CartellaSelezionata" che conterrà il percorso della cartella selezionata. Sebbene il percorso sia una 'Stringa la variabile deve essere Variant perché il Ciclo For Each... Next lavora solo con variabili Variant o Objects
Dim CartellaSelezionata As Variant
With FD 'Usiamo l'istruzione With...End With per eseguire una serie di istruzioni con l'oggetto FileDialog.
'Usiamo il metodo Show per mostrare la dialog box ed usiamo la condizione If per verificare se l'utente ha premuto il pulsante (di azione, 'di conferma) "OK"
If .Show = -1 Then 'se è stato premuto il pulsante di conferma che restituisce -1 (il pulsante di annullamento restituirebbe 0) allora:
'iniziamo un ciclo For Each Next necessario per scorrere l'insieme delle cartelle (la Colletion del FileDialogSelectedItems) nella finestra '"Sfoglia".
For Each CartellaSelezionata In .SelectedItems
miaCartella = CartellaSelezionata 'assegniamo alla variabile "miaCartella" il percorso della cartella che avremo selezionato
Next
Else 'se invece avremo premuto annullamento
Exit Function 'usciamo dalla routine.
End If 'fine della condizione da verificare
End With 'fine istruzione With
Set cercafile = Application.FileSearch
With cercafile
.LookIn = miaCartella
.FileName = "*.XLS"
.FileName = "*.ODS"
.FileName = "*.XLSX"
If .Execute > 0 Then
MsgBox "Processerò " & .FoundFiles.Count & _
" file(s)."
For i = 1 To .FoundFiles.Count
DoCmd.TransferSpreadsheet acImport, , _
"REFE", .FoundFiles(i), True, "Foglio2!A1:V2"
'MsgBox .FoundFiles(i)
Next i
Else
MsgBox "NESSUN FILE NELLA DIRECTORY"
End If
End With
End Function
Sub SelezionaCartella_CaricaNomiFiles()
Dim FD As FileDialog 'Dichiarazione della variabile "fd" come una variabile FileDialog object.
Set FD = Application.FileDialog(msoFileDialogFolderPicker) 'creiamo l'oggetto FileDialog come finestra di dialogo per le cartelle e lo 'assegniamo alla variabile "fd"
'Sotto: dichiarariamo la variabile "CartellaSelezionata" che conterrà il percorso della cartella selezionata. Sebbene il percorso sia una 'Stringa la variabile deve essere Variant perché il Ciclo For Each... Next lavora solo con variabili Variant o Objects
Dim CartellaSelezionata As Variant
With FD 'Usiamo l'istruzione With...End With per eseguire una serie di istruzioni con l'oggetto FileDialog.
'Usiamo il metodo Show per mostrare la dialog box ed usiamo la condizione If per verificare se l'utente ha premuto il pulsante (di azione, 'di conferma) "OK"
If .Show = -1 Then 'se è stato premuto il pulsante di conferma che restituisce -1 (il pulsante di annullamento restituirebbe 0) allora:
'iniziamo un ciclo For Each Next necessario per scorrere l'insieme delle cartelle (la Colletion del FileDialogSelectedItems) nella finestra '"Sfoglia".
For Each CartellaSelezionata In .SelectedItems
miaCartella = CartellaSelezionata 'assegniamo alla variabile "miaCartella" il percorso della cartella che avremo selezionato
Next
Else 'se invece avremo premuto annullamento
Exit Sub 'usciamo dalla routine.
End If 'fine della condizione da verificare
End With 'fine istruzione With
End Sub |