Codice per aprire una cartella
Hai un problema con Excel? 
Codice per aprire una cartella
di dpg70 (utente non iscritto) data: 14/02/2014 13:56:13
Come posso aprire una sottocartella chiusa (es. in una pendrive) contenente file.xls dal comando immagine di un'altro file, usando il codice vba.
Vorrei visualizzare il contenuto della sottocartella per successivamente in modo manuale, effettuale la selezione.
Grazie a tutti.
di Vecchio Frac data: 14/02/2014 14:40:03
Ho letto alcune volte, ma non capisco cosa intendi per "comando immagine di un'altro file".
"Visualizzare il contenuto della sottocartella" significa elencarne i file contenuti?
Puoi essere più preciso?
di Grograman (utente non iscritto) data: 14/02/2014 14:57:08
Bzzzzt!
Option Explicit
Private Sub Sfoglia_Files()
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''' ATTENZIONE RICHIEDE L'ATTIVAZIONE DELLA LIBRERIA MICROSOFT SCRIPTING RUNTIME '''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'' Per l'attivazione andare su "Strumenti", "Riferimenti", cercare e spuntare il nome ''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim strPath As String
Dim fd As FileDialog
Dim objfd As Variant
Dim objFSY As FileSystemObject
Dim objFOL As Folder
Dim objFIL As File
Set fd = Application.FileDialog(msoFileDialogFolderPicker)
With fd
.InitialFileName = "C:"
.Title = "Sfoglia cartelle"
.ButtonName = "Ok"
.AllowMultiSelect = False
.InitialView = msoFileDialogViewDetails
.Show
For Each objfd In .SelectedItems
strPath = objfd
Next objfd
End With
If strPath = "" Then GoTo Uscita
Set objFSY = New FileSystemObject
Set objFOL = objFSY.GetFolder(strPath)
For Each objFIL In objFOL.Files
Debug.Print objFIL.Name 'o altre azioni da fare sui files
Next
Uscita:
Set objFSY = Nothing
Set objFOL = Nothing
Set fd = Nothing
End Sub
|
di Vecchio Frac data: 14/02/2014 15:22:37
Va bene, ma Grò, spiegami cosa hai capito da qui: "dal comando immagine di un'altro file".
Ho mandato in assistenza la palla di vetro e ancora non è tornata ^_^
di dpg70 (utente non iscritto) data: 14/02/2014 17:51:52
Mi scuso della non chiarezza di esposizione, non possiedo terminologie tecniche corrette ed indicative ma Grograman mi ha creato un codice che mi porta in Sfoglia Cartelle, alla cartella voluta però selezionando dal "Label _ Nome:" l'elenco risulta vuoto, probabilmente perché sono contenuti solo files .xls. Io vorrei aprirla cosi da poter visualizzare tutti i files presenti or visualizzare i files .xls sull'elenco precedente.
'
Ho levato il Private per agganciare l'esecuzione, ad una immagine contenuta in Foglio1 del mio file .xls e non so se sia corretto, ma funziona.
'
Grazie e alle prossime, buona serata.
di patel data: 14/02/2014 18:21:57
Deduco che il comando immagine è un pulsante per avviare la macro, prova questo
Sub SelezionaCartella_e_File()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim FileSelezionato As Variant
Set wb = ActiveWorkbook
If fd.Show = -1 Then
FileSelezionato = fd.SelectedItems(1)
Workbooks.Open Filename:=FileSelezionato
End If
Set fd = Nothing
End Sub |
di dpg70 (utente non iscritto) data: 14/02/2014 19:11:00
Io arrivo al UserForm Sfoglia ma non entro nella cartella che contiene i miei files .xls
vedi codice.
Sub SelezionaCartella_e_File()
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
Dim FileSelezionato As Variant
Set wb = ActiveWorkbook
If fd.Show = -1 Then
Fatture.xls = fd.SelectedItems(1)
Workbooks.Open Filename:="F:Soccorso Edile srlDosumenti srlVenditeFatture.xls "
End If
Set fd = Nothing
End Sub
|
di patel data: 14/02/2014 20:21:41
non devi cambiare niente del codice, FileSelezionato è una variabile e deve rimanere tale
di dpg70 (utente non iscritto) data: 14/02/2014 21:02:13
Anche non modificando arrivo al UserForm Sfoglia ma se precedentemente avessi inserito "Sfoglia la cartella Documenti", con l'avvio successivo della macro, ritorno sempre di default in "Soglia Documenti" e non direttamente nella cartella Fatture.xls (una sottocartella della pendrive).
A differenza la macro di Grograman, arriva sì sempre in "Sfoglia cartella Fatture.xls" ma non visualizzo e ne riesco ad aprire i files .xls interni.
Non è che devo indicare il percorso, indicando in modo permanente la mia cartella di ricerca?
di patel data: 15/02/2014 07:41:48
prova questa
Sub Opendialog9()
Dim strFile As String, strPath As String
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = "F:Soccorso Edile srlDosumenti srlVendite*.xls*"
.Title = "Seleziona il File"
.AllowMultiSelect = False
.Show
If .SelectedItems.Count = 0 Then Exit Sub
strFile = .SelectedItems(1)
End With
Workbooks.Open Filename:=strFile
End Sub |
di dpg70 (utente non iscritto) data: 15/02/2014 08:30:42
Penso l'UserForm sia quello giusto, riesco a visualizzare e selezionare i files contenuti nella cartelle ma la ricerca parte sempre automaticamente da cerca in: "Documenti" poi, io deve sempre selezionare passo passo il percorso per spostarmi sempre alla cartella interessata. Si può indirizzare subito il cerca in:"Fatture.xls" che è un file excel ma .xls fa parte del nome inserito non è l'estensione scritta dal programma.
Vuoi Approfondire?