Discussione:
Cerca file in cartella e sottocartelle
(troppo vecchio per rispondere)
Alberto
2010-11-01 16:00:15 UTC
Permalink
Il seguente codice VBA "dovrebbe" effettuare la ricerca del file nelle
cartelle e sottocartelle:

Sub Cerca_file()
Cartella = "C:\CARTELLE\"
File = "Memo.xls"
With Application.FileSearch
.NewSearch
.LookIn = Cartella
.SearchSubFolders = True
.Filename = File
If .Execute(SortBy:=msoSortByFileName,
SortOrder:=msoSortOrderAscending) > 0 Then
MsgBox "trovati " & .FoundFiles.Count & " file"
For i = 1 To .FoundFiles.Count
MsgBox .FoundFiles(i)
Next i
End If
End With
End Sub

Ho scritto dovrebbe perchè in realtà l'esecuzione del codice da:

Errore di run-time '438':
Proprietà o metodo non supportati dall'oggetto

Significa quindi che il VBA di Microsoft Outlook non può eseguire
questo codice?
(ATTENZIONE! col vba di Excel il codice funziona benissimo!)

qualche consiglio su come risolvere il problema?

(Win XP - Microsoft Outlook 2002) ciao e grazie Alberto
Alberto
2010-11-01 21:25:14 UTC
Permalink
Ho risolto
Post by Alberto
Sub Cerca_file()
    Set objExcel = CreateObject("Excel.Application")
Cartella = "C:\CARTELLE\"
    File = "Memo.xls"
    With objExcel.Application.FileSearch
        ...............
Bruno Campanini
2010-11-02 12:32:21 UTC
Permalink
Post by Alberto
Ho risolto
Post by Alberto
Sub Cerca_file()
    Set objExcel = CreateObject("Excel.Application")
Cartella = "C:\CARTELLE\"
    File = "Memo.xls"
    With objExcel.Application.FileSearch
        ...............
Esponi come hai risolto.
Mi interessa.

Bruno
Alberto
2010-11-02 20:36:44 UTC
Permalink
Post by Bruno Campanini
Post by Alberto
Ho risolto
Post by Alberto
Sub Cerca_file()
Set objExcel = CreateObject("Excel.Application")
    Cartella = "C:\CARTELLE\"
File = "Memo.xls"
With objExcel.Application.FileSearch
...............
Esponi come hai risolto.
Mi interessa.
Bruno
Se noti le prime righe del codice sono diverse.

Ho aggiunto:
Set objExcel = CreateObject("Excel.Application")
che crea l'oggetto Applicazione Excel dove far girare il codice
e objExcel.Application.FileSearch al posto del semplice
Application.FileSearch
che sfrutta il metodo utilizzando il VBA di Excel e non quello di
Outlook.

Questo è quello che ho capito io (non ne so molto), che ho cercato di
spiegarti con parole mie e che senz'altro qualcuno potrebbe spiegare
molto meglio.
La cosa funziona, quindi ... siamo a posto

Alberto
Bruno Campanini
2010-11-03 08:55:28 UTC
Permalink
Post by Alberto
Se noti le prime righe del codice sono diverse.
Set objExcel = CreateObject("Excel.Application")
che crea l'oggetto Applicazione Excel dove far girare il codice
e objExcel.Application.FileSearch al posto del semplice
Application.FileSearch
che sfrutta il metodo utilizzando il VBA di Excel e non quello di
Outlook.
Questo è quello che ho capito io (non ne so molto), che ho cercato di
spiegarti con parole mie e che senz'altro qualcuno potrebbe spiegare
molto meglio.
La cosa funziona, quindi ... siamo a posto
Non avevo letto bene il tuo primo post.
Poiché FileSearch è sparita da Office 2007/2010, ho pensato il tuo
problema fosse quello di continuare ad eseguire le sue funzionalità
nelle ultime versioni di Office.
E mi interessava appunto vedere come avessi risolto il problema.
Ciò non essendo... come non detto.

Bruno

Loading...