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

Application.FileSearch non disponibile in A2007.

42 views
Skip to first unread message

Riccardo Baldinotti

unread,
Nov 20, 2009, 8:33:59 AM11/20/09
to
Nell'elenco delle variazioni intervenute da A2000 a A2007, trovo che
FileSearch è "nascosto".
A questo punto le domande sono due:
1: chevvordi' "nascosto"?
2: cosa devo usare al suo posto?
Grazie a tutti.
Riccardo Baldinotti

Karl Donaubauer

unread,
Nov 20, 2009, 8:46:46 AM11/20/09
to
Riccardo Baldinotti wrote:
> Nell'elenco delle variazioni intervenute da A2000 a A2007, trovo che
> FileSearch � "nascosto".

> A questo punto le domande sono due:
> 1: chevvordi' "nascosto"?

Forse si tratta di una traduzione debole.
"Abbandonato" sarebbe pi� preciso, cio� non � pi� presente.

> 2: cosa devo usare al suo posto?

Vedi: http://support.microsoft.com/kb/935402/en-us

--
HTH
Karl
*********
Access FAQ: www.donkarl.com/it


Riccardo Baldinotti

unread,
Nov 23, 2009, 9:29:08 AM11/23/09
to
On 20 Nov, 14:46, "Karl Donaubauer" <NoS...@donkarl.com> wrote:
> RiccardoBaldinottiwrote:

> > Nell'elenco delle variazioni intervenute da A2000 a A2007, trovo che
> > FileSearch è "nascosto".

> > A questo punto le domande sono due:
> > 1: chevvordi' "nascosto"?
>
> Forse si tratta di una traduzione debole.
> "Abbandonato" sarebbe più preciso, cioè non è più presente.

>
> > 2: cosa devo usare al suo posto?
>
> Vedi:http://support.microsoft.com/kb/935402/en-us
>
> --
> HTH
> Karl
> *********
> Access FAQ:www.donkarl.com/it

In effetti il comando Dir è forse quel che mi serve, però c'è un
però...
Volevo dare un comando
Kill CurrentProject.Path & "\*.xls"
una volta, in modo da fare pulizia nella cartella dell'utente, in
quanto avevo sostituito dei file accessori, fatti con Excel 2000 ed
estensione .xls, con altri file, fatti con Excel 2007 ed
estensione .xlsx.
L'idea era di metterlo insieme ai comandi che la mia applicazione
eseguiva all'avvio, per poi eliminarla in seguito, quando tutti gli
utenti l'avessero aperta e si fossero ripuliti.
Se però il comando non trovava file, usciva con un errore. Allora
avevo pensato di fare una cosa del genere:
With Application.FileSearch
.LookIn = CurrentProject.Path
.SearchSubFolders = False
.FileName = "*.xls"
If .Execute() > 0 Then
Kill CurrentProject.Path & "\*.xls" '
End If
End With
con codice scopiazzato dall'esempio 6.30 del SitoComune, a firma
AntoGal.
Ecco che mi si è posto il problema di FileSearch.
Sostituendo con
If dir(CurrentProject.Path & "\*.xls") = "" Then
Kill CurrentProject.Path & "\*.xls" '
End If
però, scopro che la ricerca ha successo anche se non ci sono
file .xls, ma file .xlsx
Sembra cioè che dir sia molto possibilista con le estensioni. E se è
per questo, ho verificato che un comando come
Kill CurrentProject.Path & "\*.xls" mi uccideva anche i file .xlsx, i
quali invece, ovviamente, vanno mantenuti. Potrei farli ricopiare
dalla rete ogni volta, e togliere poi questa copiatura insieme al
comando Kill, ma non mi sembra "elegante".
Come posso rimediare?
Grazie mille.
Riccardo Baldinotti

Karl Donaubauer

unread,
Nov 23, 2009, 10:21:31 AM11/23/09
to
Riccardo Baldinotti wrote:
> ...
> Volevo dare un comando
> Kill CurrentProject.Path & "\*.xls"
> una volta, in modo da fare pulizia nella cartella dell'utente, in
> quanto avevo sostituito dei file accessori, fatti con Excel 2000 ed
> estensione .xls, con altri file, fatti con Excel 2007 ed
> estensione .xlsx.
> L'idea era di metterlo insieme ai comandi che la mia applicazione
> eseguiva all'avvio, per poi eliminarla in seguito, quando tutti gli
> utenti l'avessero aperta e si fossero ripuliti.
> Se per� il comando non trovava file, usciva con un errore. Allora

> avevo pensato di fare una cosa del genere:
> With Application.FileSearch
> .LookIn = CurrentProject.Path
> .SearchSubFolders = False
> .FileName = "*.xls"
> If .Execute() > 0 Then
> Kill CurrentProject.Path & "\*.xls" '
> End If
> End With
> con codice scopiazzato dall'esempio 6.30 del SitoComune, a firma
> AntoGal.
> Ecco che mi si � posto il problema di FileSearch.

> Sostituendo con
> If dir(CurrentProject.Path & "\*.xls") = "" Then
> Kill CurrentProject.Path & "\*.xls" '
> End If
> per�, scopro che la ricerca ha successo anche se non ci sono

> file .xls, ma file .xlsx
> Sembra cio� che dir sia molto possibilista con le estensioni. E se �

> per questo, ho verificato che un comando come
> Kill CurrentProject.Path & "\*.xls" mi uccideva anche i file .xlsx, i
> quali invece, ovviamente, vanno mantenuti. Potrei farli ricopiare
> dalla rete ogni volta, e togliere poi questa copiatura insieme al
> comando Kill, ma non mi sembra "elegante".

S�, sembra che Dir e Kill non possono differenziare tra "xls" e "xlsx".
Forse perch� sono dall'epoca con 8.3.

Se non hai mille file nella cartella non dovrebbe essere troppo
lento un ciclo con un paragone pi� esatto come questo:

Dim strPath As String, strFile As String

strPath = CurrentProject.Path & "\"
strFile = Dir(strPath, vbDirectory)

Do While strFile <> ""
strFile = Dir
If strFile Like "*.xls" Then
Kill strPath & strFile
End If
Loop

Riccardo Baldinotti

unread,
Nov 23, 2009, 10:29:11 AM11/23/09
to
On 23 Nov, 16:21, "Karl Donaubauer" <NoS...@donkarl.com> wrote:
> Riccardo Baldinotti wrote:
> > ...
> > Volevo dare un comando
> > Kill CurrentProject.Path & "\*.xls"
> > una volta, in modo da fare pulizia nella cartella dell'utente, in
> > quanto avevo sostituito dei file accessori, fatti con Excel 2000 ed
> > estensione .xls, con altri file, fatti con Excel 2007 ed
> > estensione .xlsx.
> > L'idea era di metterlo insieme ai comandi che la mia applicazione
> > eseguiva all'avvio, per poi eliminarla in seguito, quando tutti gli
> > utenti l'avessero aperta e si fossero ripuliti.
> > Se però il comando non trovava file, usciva con un errore. Allora

> > avevo pensato di fare una cosa del genere:
> >     With Application.FileSearch
> >         .LookIn = CurrentProject.Path
> >         .SearchSubFolders = False
> >         .FileName = "*.xls"
> >         If .Execute() > 0 Then
> >             Kill CurrentProject.Path & "\*.xls" '
> >         End If
> >     End With
> > con codice scopiazzato dall'esempio 6.30 del SitoComune, a firma
> > AntoGal.
> > Ecco che mi si è posto il problema di FileSearch.

> > Sostituendo con
> >         If dir(CurrentProject.Path & "\*.xls") = "" Then
> >             Kill CurrentProject.Path & "\*.xls" '
> >         End If
> > però, scopro che la ricerca ha successo anche se non ci sono

> > file .xls, ma file .xlsx
> > Sembra cioè che dir sia molto possibilista con le estensioni. E se è

> > per questo, ho verificato che un comando come
> > Kill CurrentProject.Path & "\*.xls" mi uccideva anche i file .xlsx, i
> > quali invece, ovviamente, vanno mantenuti. Potrei farli ricopiare
> > dalla rete ogni volta, e togliere poi questa copiatura insieme al
> > comando Kill, ma non mi sembra "elegante".
>
> Sì, sembra che Dir e Kill non possono differenziare tra "xls" e "xlsx".
> Forse perché sono dall'epoca con 8.3.

>
> Se non hai mille file nella cartella non dovrebbe essere troppo
> lento un ciclo con un paragone più esatto come questo:

>
> Dim strPath As String, strFile As String
>
> strPath = CurrentProject.Path & "\"
> strFile = Dir(strPath, vbDirectory)
>
> Do While strFile <> ""
>     strFile = Dir
>     If strFile Like "*.xls" Then
>         Kill strPath & strFile
>     End If
> Loop
>
> --
> HTH
> Karl
> *********
> Access FAQ:www.donkarl.com/it- Nascondi testo citato
>
> - Mostra testo citato -

Sì, credo che farò qualcosa del genere.
I nomi lunghi sono una delle piacevolezze che mi hanno indotto ad
abbandonare definitivamente la nostalgia per il DOS.
Grazie tante.
Riccardo Baldinotti

0 new messages