| |
|
|
| | Function CheckDir(MyPath As String) As Boolean
'Функция проверки на наличие файла по указанному пути
CheckDir = False
On Error Resume Next
If Dir(MyPath) <> "" Then CheckDir = True
End Function
Может есть получшее? | |
| |
| |
| |
|
|
| |
Public Function fnFileExists(strFilePath As String) As Boolean
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
fnFileExists = objFSO.FileExists(strFilePath)
Set objFSO = Nothing
End Function
Public Function fnGetSpecFolder(btSpec As Byte) As String
Dim objFSO As Object
fnGetSpecFolder = ""
If btSpec >= 0 And btSpec < 3 Then
Set objFSO = CreateObject("Scripting.FileSystemObject")
fnGetSpecFolder = objFSO.GetSpecialFolder(btSpec)
Set objFSO = Nothing
End If
End Function
|
Function CheckDir(MyPath$) As Boolean
CheckDir = Len(Dir(MyPath))
End Function
|
| |
| |
| |
| |
|
|
| | Спасибо, Силыч!!!!!!
С тяпницей тебя  | |
| |
| |
| |
|
|
| | Но тута FSO надо подключаь........  | |
| |
| |
| |
|
|
| | а какие проблемы? ;)
но вообщето в данном случае - не надо :) | |
| |
| |
| |
|
|
| | Прмблемы в отправке к заказчику.
Надо как то автомаически подцеплять, коли у нёга нема етого........ | |
| |
| |
|
|
|
|
| |
|
|
| | Получал я от пользователей сообщение об ошибке
Error 429: ActiveX component can't create object
на строку
CreateObject("Scripting.FileSystemObject")
Ведь библиотека действительно может быть не зарегистрирована.
Но это бывает очень редко, не чаще чем 1 раз на 1000 | |
| |
| |
| |
|
|
| | использую это:
'Проверка наличия указанного файла
Public Function FileExists(ByVal strFileFullPath As String) As Boolean
Dim lSize As Long
On Error GoTo Err_
lSize = -1
If GetAttr(strFileFullPath) And vbDirectory Then GoTo Err_
lSize = FileLen(strFileFullPath)
FileExists = lSize > -1
Exit Function
Err_:
End Function
|
| |
| |
| |
| |
|
|
| | Если труе - то всё в порядке..... ...
А это куда идти GoTo HandleExit | |
| |
| |
| |
|
|
| | это я не оттуда скопироваллл :)
сейчас подправил | |
| |
| |
| |
|
|
| | Да, спасибо, всунул......... | |
| |
| |
| |
|
|
| | Эффект тот жа.
Они (функции) все проверяют не пустое ли значение, а не наличие ффайла по указанному пути.....
И если значение тока имя файла без пути , функции говорят - всё в норме - есть такой файл.............
А нет ли такой , которая действительно весь путь прощупает и ответит правду? | |
| |
| |
| |
|
|
| | помедленнее пожалуйста....
Час, в чем возникла проблема? не пойму что-то | |
| |
| |
| |
|
|
| | Вот попробуй спроси
if FileExists("kukih") = true then msgbox "Всё в норме!!!" 
CheckDir - тоже самое и все они врут  | |
| |
| |
| |
|
|
| | ну спросил... молчит
на msgbox "Всё в норме!!!" не выходит
Час, у тебя компилятор от чего?
***
голову дуришь наверное  | |
| |
| |
| |
|
|
| | аааа. доперло кажись
если путь не указан, то эти хвункции по умолчанию смотрят в 'мои документы'
и если там есть файл 'kukih', то 'все в норме' | |
| |
| |
| |
|
|
| | >если путь не указан, то эти хвункции по умолчанию смотрят в 'мои документы'
Смотрит в текущий каталог, который может быть определен с помощью функции CurDir, а задан с помощью ChDir Statement (поэтому это не обязательно 'мои документы')
Так что поведение функции FileExists совершенно корректное. И не стоит ее изменять.
Лучше проверить что в нее передается в другом месте. | |
| |
| |
| |
|
|
| | Public Function CheckFile(strName As String) As Boolean
'Функция проверки на наличие файла по указанному пути
'
'Аргументы: strName - полный путь к требуемому файлу.
'Назначение: Проверка существования файла по указанному пути.
'Возвращает: true - существует
Dim strTemp As String
On Error Resume Next
strTemp = Dir(strName, vbHidden Or vbSystem Or vbArchive Or vbReadOnly)
CheckFile = ((Len(strTemp) > 0) And (Err.Number = 0))
Err.Clear
End Function
ни одна не работает  | |
| |
| |
| |
|
|
| | а если добавить это:
If InStr(1, strFileFullPath, "\") = 0 Then Exit Function | |
| |
| |
| |
|
|
| | Я уж об етом подумал...................
и ещё ":" двоеточие | |
| |
| |
| |
|
|
| | А как же люди с етим злом - что не сталкивалися что ли.................. | |
| |
| |
| |
|
|
| | >А как же люди с етим злом - что не сталкивалися что ли
Какое ж это зло?
Это правильное поведение. | |
| |
| |
| |
|
|
| | у сетевых адресов двоеточий может не быть | |
| |
| |
| |
|
|
| | точно..............
а слэши они завсегда имеются  | |
| |
| |
| |
|
|
| |
Function CheckDir(MyPath$) As Boolean
If InStr(1, MyPath$, "\") = 0 Then
msgbox "Что за хрень?"
CheckDir = false
exit Function
end if
CheckDir = Len(Dir(MyPath))
End Function
|
| |
| |
| |
| |
|
|
| | ну вот и чудненько
а то думаю что за трабл на ровном месте... | |
| |
| |
|
|
|
|
| |
|
|
| | она слэши ищет!!!!
Согласись это не то, что от неё требуется. | |
| |
| |
| |
|
|
| | надо, что ба функция действительно слева направо проверила по указанной строке - наличие папок и файла на конце, с нужным расширением.
Тода она да!!!  | |
| |
| |
| |
|
|
| | примерно так вот:
Public Function File_Presence(strPathFile As String) As Boolean
'проверки наличия файла по указанному пути
Dim strTemp As String
Dim i As Integer
Dim x As Integer
Dim Check_Fiel As String 'Искомый файл
File_Presence = False ' пока предположим нету файло по пути
If Nz(strPathFile) = "" Then Exit Function
Check_Fiel = Dir(strPathFile) ' если путь верен - Выводит Искомый файл
strTemp = ""
x = Len(strPathFile) ' Вычленяем файл из пути
For i = x To 1 Step -1
If Mid(strPathFile, i, 1) = "\" Then
strTemp = Mid(strPathFile, i + 1)
Exit For
End If
Next i ' Вычленяем файл из пути
' проверяем две переменные на равность
If Nz(Check_Fiel) = Nz(strTemp) Then
File_Presence = True
'MsgBox "Имеется файл"
End If
End Function
|
| |
| |
| |
| |
|
|
| | сдается ты уже увлекся, Час
имхо: хватит и первоначальной проверки на слэш (ты же все равно потом по нему ориентируешься)
еще имхо: мне кажется что собо париться с тем что файл определяется без наличия пути (в 'моих документах') не нужно - это не ошибка
просто старайся всегда задавать полный путь файла вот и все | |
| |
| |
|
|
| |
|
|
| | Или вот так вот:
Public Function File_Presence(strPathFile As String) As Boolean
'проверки наличия файла по указанному пути
Dim strTemp As String
Dim i As Integer
Dim x As Integer
Dim Check_Fiel As String 'Искомый файл
File_Presence = False ' пока предположим нету файло по пути
If Nz(strPathFile) = "" Then Exit Function
Check_Fiel = Dir(strPathFile) ' если путь верен - Выводит Искомый файл
If Check_Fiel = "" Then Exit Function
strTemp = ""
x = Len(strPathFile) ' Проверяем папки пути
For i = 1 To x
If Mid(strPathFile, i, 1) = "\" Then
strTemp = Mid(strPathFile, 1, i - 1)
If Dir(strPathFile, vbDirectory) = "" Then
Exit Function
End If
End If
Next i ' Проверяем папки пути
strTemp = ""
x = Len(strPathFile) ' Вычленяем файл из пути
For i = x To 1 Step -1
If Mid(strPathFile, i, 1) = "\" Then
strTemp = Mid(strPathFile, i + 1)
Exit For
End If
Next i ' Вычленяем файл из пути
' проверяем две переменные на равность
If Nz(Check_Fiel) = Nz(strTemp) Then
File_Presence = True
'MsgBox "Имеется файл"
End If
End Function
|
| |
| |
| |
|
|
| |
|
|
| | Так не должно, не должно быть,
Нет, нет, никогда,
Чтобы любовь захватила нас,
Ждать нужно года.
От внезапной любви,
Что приходит мгновенно,
Жди, непременно
Какая-то будет беда.
Так не должно быть,
Но снова я взгляд твой ловлю,
И понимаю, что всё это глупо и странно.
Так не должно быть,
Но сердце стучит неустанно:
"Я люблю! Я люблю!" | |
| |
| |
| |
|
|
| | Так значит не функция виновата.
Это "любовь" сводит с ума.
Выход, варианты:
1. Забросить программирование. (Хотя бы до "выздоровления").
2. Срочно "разлюбить", что бы голова просветлела.  | |
| |
| |
|
|
| |
|
|
| | Теперь понятно, куда "улетела крыша".  | |
| |
| |