Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Trova file

0 views
Skip to first unread message

joe

unread,
Sep 11, 2003, 3:56:12 AM9/11/03
to
Vorrei creare un pulsante che mi effettui la ricerca di un file in una
cartella di C:, come la funzione trova-file di windows. Come fare?

Gianni


David De Giacomi [dotnethell.it]

unread,
Sep 11, 2003, 4:14:49 AM9/11/03
to
> Vorrei creare un pulsante che mi effettui la ricerca di un file in una
> cartella di C:, come la funzione trova-file di windows. Come fare?

Sei un programmatore ? A quanto pare no, per creare una ricerca su disco
tipo il trova file ti consiglio di lasciar perdere. Il trova File nonostante
sia
lento è il "trovatore" più efficiente, perchè si interfaccia direttamente
con
il File System NTFS, ogni altro trovatore sarà ancora più lento.

Inoltre, per creare una cosa di questo tipo è necessario creare una funzione
ricorsiva che richiama se stessa, non so se sei pratico ? Non è una cosa
semplice.
Ciao

--
David De Giacomi
david_...@dotnethell.it (rimuovere _NOSPAM dall'indirizzo per scrivermi)
http://www.dotnethell.it - Have a problem? Get a Solution ;-)

Alessandro Angeli [MVP::DigitalMedia]

unread,
Sep 11, 2003, 5:54:48 AM9/11/03
to
In VBA pero` puo` anche semplicemente creare una istanza
della Shell e invocare il metodo FindFiles(), che e`
esattamente quello che il Trova dello Start menu fa, cosi`
puo` usarlo direttamente da Excel.


David De Giacomi [dotnethell.it] wrote:

>> Vorrei creare un pulsante che mi effettui la ricerca di
>> un file in una cartella di C:, come la funzione
>> trova-file di windows. Come fare?
>
> Sei un programmatore ? A quanto pare no, per creare una
> ricerca su disco tipo il trova file ti consiglio di
> lasciar perdere. Il trova File nonostante sia
> lento è il "trovatore" più efficiente, perchè si
> interfaccia direttamente con
> il File System NTFS, ogni altro trovatore sarà ancora più
> lento.
>
> Inoltre, per creare una cosa di questo tipo è necessario
> creare una funzione ricorsiva che richiama se stessa, non
> so se sei pratico ? Non è una cosa semplice.
> Ciao

--

Alessandro Angeli

<a.angeliATbiosysDOTnet>

David De Giacomi [dotnethell.it]

unread,
Sep 11, 2003, 8:13:05 AM9/11/03
to
> In VBA pero` puo` anche semplicemente creare una istanza
> della Shell e invocare il metodo FindFiles(), che e`

Scusa ma il metodo Findfiles apre semplicemente il Trova File di Windows.
Non mi pare joe volesse fare questo se no poteva premere F3.

Alessandro Angeli [MVP::DigitalMedia]

unread,
Sep 11, 2003, 9:59:14 AM9/11/03
to
David De Giacomi [dotnethell.it] wrote:

>> In VBA pero` puo` anche semplicemente creare una istanza
>> della Shell e invocare il metodo FindFiles(), che e`
>
> Scusa ma il metodo Findfiles apre semplicemente il Trova
> File di Windows. Non mi pare joe volesse fare questo se
> no poteva premere F3.

Ho capito volesse inserire un pulsante in Excel che cercasse
dei files ma se premi F3 in Excel non si apre il dialog di
FindFiles: F3 apre FindFiles solo se il focus e` su una
finestra di explorer.exe, il che richiede di minimizzare
tutto o aprire una cartella del desktop.

--

Alessandro Angeli

<a.angeliATbiosysDOTnet>

David De Giacomi [dotnethell.it]

unread,
Sep 11, 2003, 10:18:34 AM9/11/03
to
> Ho capito volesse inserire un pulsante in Excel che cercasse
> dei files ma se premi F3 in Excel non si apre il dialog di
> FindFiles: F3 apre FindFiles solo se il focus e` su una
> finestra di explorer.exe, il che richiede di minimizzare
> tutto o aprire una cartella del desktop.

Ok ok, certo. Io invece avevo capito che volevo implementare lui
una ricerca in un suo form in Excel in VBA.
Per questo dicevoe che FindFiles() provoca lo stesso effetto
della pressione del tasto F3 su una finestra explorer, questo volevo
dire :)
ciao

joe

unread,
Sep 11, 2003, 10:22:27 AM9/11/03
to
ragazzi, vi spiego cosa volevo fare:
semplicemente cercare un file in una determinata cartella o percorso
(es.:C:\pippo\) dove sto creando un archivio di soli file .xls.
Vorrei richiamare il file (o un certo n° di file) anche scrivendolo
parzialmente,
come nel menu start, però già dargli un certo percorso e farlo in excel, per
semplificare un po' il tutto...


David De Giacomi [dotnethell.it]

unread,
Sep 11, 2003, 11:03:30 AM9/11/03
to

Allora, calma, calma, quando digiti il nome si compelta automaticamente
proprio
per un dispositivo chiamato Auto-Complete, per attivarlo sotto Excel in VBA
ci
sono da usare istruzioni particolari non-VBA (tecnicamente Win32API).

Secondo me a te potrebbero andare bene le classiche finestre di Apri e Salva
con nome?
Cosa ne pensi? All'interno del tuo progetto in VBA vai sul menù
strumenti.->componenti
aggiuntivi e cerca Microsoft Common Dialog Control 6.0
questo controllo ti permette di visualizzare le finestre di Apri e Salva. Lì
c'è anche
il completamento automatico.
ciao

joe

unread,
Sep 11, 2003, 11:14:03 AM9/11/03
to

"David De Giacomi [dotnethell.it]" <david_...@dotnethell.it> ha scritto
nel messaggio news:erjJfXHe...@TK2MSFTNGP09.phx.gbl...

> > ragazzi, vi spiego cosa volevo fare:
> > semplicemente cercare un file in una determinata cartella o percorso
> > (es.:C:\pippo\) dove sto creando un archivio di soli file .xls.
> > Vorrei richiamare il file (o un certo n° di file) anche scrivendolo
> > parzialmente,
> > come nel menu start, però già dargli un certo percorso e farlo in excel,
> per
> > semplificare un po' il tutto...
>
> Allora, calma, calma, quando digiti il nome si compelta automaticamente
> proprio
> per un dispositivo chiamato Auto-Complete, per attivarlo sotto Excel in
VBA
> ci
> sono da usare istruzioni particolari non-VBA (tecnicamente Win32API).
>
> Secondo me a te potrebbero andare bene le classiche finestre di Apri e
Salva
> con nome?
> Cosa ne pensi? All'interno del tuo progetto in VBA vai sul menù
> strumenti.->componenti
> aggiuntivi e cerca Microsoft Common Dialog Control 6.0

la finestra è disattivata, come mai?


fernando cinquegrani

unread,
Sep 13, 2003, 1:36:43 AM9/13/03
to
"joe" <port...@yahoo.it> ha scritto nel messaggio news:Dy%7b.311042$lK4.9...@twister1.libero.it...

semplicemente:
utilizza l'oggetto [excel!] filesearch con il parametro .lookin;
con l'esempio riportato nell'help popoli quindi una casella a discesa
(proprietà listfillrange)
.f
http://www.prodomosua.it

fernando cinquegrani

unread,
Sep 13, 2003, 1:41:30 AM9/13/03
to
"fernando cinquegrani" <f.cinq...@prodomosua.it> ha scritto nel messaggio news:e6TfRkbe...@TK2MSFTNGP12.phx.gbl...

| semplicemente:
| utilizza l'oggetto [excel!] filesearch con il parametro .lookin;
| con l'esempio riportato nell'help popoli quindi una casella a discesa
| (proprietà listfillrange)

oops!
ancora più semplicemente:
utilizza il metodo [excel!] dir indicando il nomepercorso;

asukuo

unread,
Sep 13, 2003, 2:29:36 AM9/13/03
to
"joe" <port...@yahoo.it> ha scritto nel messaggio
news:wUV7b.309850$Ny5.9...@twister2.libero.it...

> Vorrei creare un pulsante che mi effettui la ricerca di un file in una
> cartella di C:, come la funzione trova-file di windows. Come fare?
>
> Gianni

Associa questo codice ad un pulsante di comando:

Public Sub NomeFile()
Dim strFilePath As String
Dim strRevFileName As String
Dim strFileName As String
Dim I As Long
Dim U As Integer

strFilePath = Application.GetOpenFilename()
'Cerca Nomefile in reverse fino a che non trova il carattere "\"
For I = Len(strFilePath) To 1 Step -1
If Right(strRevFileName, 1) <> Chr(92) Then
strRevFileName = strRevFileName & Mid(strFilePath, I, 1)
End If
Next
U = Len(strRevFileName) - 1 'Ottiene numero di caratteri in Nomefile
meno la "\"
strFileName = Right(strFilePath, U) 'Estrae il nomefile dalla fine della
path

' MsgBox strFileName
End Sub

Saluti, Gianni.

0 new messages