Esiste una funzione che mi restituisce qualcosa se un file non esiste?
Esiste una funzione che mi restituisce qualcosa se un file non esiste?
'************************************************* *************************
'* Verifica l'esistenza di un file
'*
'* UTILIZZO:
'*
'* Verifica = VerifyFile("C:\winnt\notepad.exe")
'*
'* Se il file esiste, ritorna "True"
'*
'************************************************* *************************
Public Function VerifyFile(ByVal FileName As String) As Boolean
Dim FileEx As String
FileEx = Dir(FileName, vbDirectory)
If FileEx <> "" Then
VerifyFile = True
Else
VerifyFile = False
End If
End Function
Su http://cityweb.freeweb.org ho pubblicato una DLL che si occupa proprio della gestione di File.
.
Ma e' necessario passare per forza il percorso ?
ho provato la funzione dir, ma purtroppo non funziona
Public Function VerifyFile(ByVal FileName As String) As Boolean
Dim FileEx As String
FileEx = Dir(FileName)
If FileEx <> "" Then
VerifyFile = True
Else
VerifyFile = False
End If
End Function
Funziona solo per i files.
Per le directory occorre modificare la riga in grassetto con:
FileEx = Dir(FileName, vbDirectory)
In pratica come era prima restituiva true solo se si passava il path di un dir.
Il percorso completo sei costretto a metterlo.
Bye !
Diventeremo tutti pazzi !!
Ho trovato qualcosina di piu' interessante, dopo la metto su
io uso queste e vanno alla grande...
<pre>
'----------------------------------------------------------------------------------------
Private Const MAX_PATH = 260
Private Const INVALID_HANDLE_VALUE = -1
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _
(ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" _
(ByVal hFindFile As Long) As Long
'----------------------------------------------------------------------------------------
Public Function EsisteFileConNomeComplesso(ByVal sFile As String) As Boolean
'creata da Max Etere: restiuisce true se il file esiste
Dim WFD As WIN32_FIND_DATA
Dim hFindFile As Long
hFindFile = FindFirstFile(sFile, WFD)
If hFindFile = INVALID_HANDLE_VALUE Then
EsisteFileConNomeComplesso = False
Else
EsisteFileConNomeComplesso = True
hFindFile = FindClose(hFindFile)
End If
End Function
Public Function FileExist(strFile As String) As Boolean
Dim myFreeFile As Integer
Dim nRes As Integer
myFreeFile = FreeFile
On Error Resume Next
Open strFile For Input As #myFreeFile
nRes = Err.Number
Close #myFreeFile
FileExist = (nRes = 0)
End Function
</pre>
Massimiliano Etere
meNOSPAMPLEASE@maxetere.it
http://www.suonaresuonare.it
http://www.vendovendo.it
Max........ti intendi di VB??????
Cmq metti il tuo code tra i tag [CODE ] [/CODE], cosi si identa meglio, ok?
La stupidità umana e l'universo sono infinite.
Della seconda non sono certo(Einstein)
Gnu/Linux User
[supersaibal]Originariamente inviato da ivaapril
ho provato la funzione dir, ma purtroppo non funziona [/supersaibal]
A me funziona da semprecodice:if dir("c:\pippo\test.txt", vbNormal)="" then MsgBox "Il file non esiste" end if