salve
prova a valutare questa soluzione.
Le macro sotto descritte, prevedono che la cartella contenenti le sottocartelle con le informazioni si chiami "Prova" e sia contenuta nella radice del disco "C", il nome della sottocartella sia prelevabile dal valore della cella A1 ( da cambiare secondo necessità)del foglio di lavoro. L'estrazione dei file contenenti nella sottodirectory avviene nel foglio di lavoro a partire dalla cella E5 (da cambiare secondo necessità), ai nomi dei file estratti, viene applicato un collegamento ipertestuale per l'apertura e visione.
<font color=blue>
Dim riga As Integer
Sub cercafile()
riga = 5
Range(Cells(riga, 5), Cells(riga, 5).End(xlDown)).ClearContents
miapath = "c:\prova\"
SDir = [a1].Value ' prende il valore della cella A1 che identifica la sottocartella
Set fs = Application.FileSearch
With fs
.NewSearch
.LookIn = miapath & SDir & "\"
.SearchSubFolders = True
.Filename = "*.*"
If .Execute(SortBy:=msoSortByFileName, _
SortOrder:=msoSortOrderAscending) > 0 Then
<font color=red>riga = 5</font id=red> <font color=red>va eliminata questa riga è di troppo</font id=red>
For I = 1 To .FoundFiles.Count
X = .FoundFiles(I)
Cells(riga, 5).Value = X
collIper
riga = riga + 1
Next I
End If
End With
Set fs = Nothing
End Sub
</font id=blue>
<font color=blue>
Sub collIper()
'crea un collegamento ipertestuale ai file presenti nella subdirectory
Cells(riga, 5).Select
test = ActiveCell.Value
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=test
End Sub
</font id=blue>
saluti
Andrea
Edited by - a10n11 on 11/07/2006 09:35:50
Edited by - a10n11 on 11/07/2006 15:43:33