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
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
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