Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Помогите!>>> Добавлено: 09.12.06 17:11  

Автор вопроса:  Santiago
Как в ВБА Экселе проверить директорию сохранения на наличие файла по названию.
Я нашёл функцию FileExists, но как её использовать не пойму. Помогите, напишите пример.

Ответить

  Ответы Всего ответов: 9  

Номер ответа: 1
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #1 Добавлено: 09.12.06 17:40
например через fso
' вызываем функцию проверки файла
If ReportFileStatus(Путь + Имя_Файла) = "yes" Then ... ' далее твой код

' сама функция
Function ReportFileStatus(filespec)
   Dim fso, msg
   Set fso = CreateObject("Scripting.FileSystemObject";)
   If (fso.FileExists(filespec)) Then
      msg = "yes" ' нашел
   Else
      msg = "no" ' не нашел
   End If
   ReportFileStatus = msg ' возвращаем значение функции
End Function
с директорией аналогично
P.S. правда, не все приемлят этот метод :)

Ответить

Номер ответа: 2
Автор ответа:
 Santiago



Вопросов: 1
Ответов: 1
 Профиль | | #2 Добавлено: 09.12.06 18:52
Спасибо, брат!

Ответить

Номер ответа: 3
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #3 Добавлено: 09.12.06 20:28
+ еще таскать библу scrrun.dll с собой...

Ответить

Номер ответа: 4
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #4 Добавлено: 09.12.06 20:39
Function ReportFileStatus(filespec)
   ;Dim fso, msg
учитесь уже указывать типы данных
[CODE]Function ReportFileStatus(ByVal filespec As String) As Boolean
Dim fso As Object
   Set fso = CreateObject("Scripting.FileSystemObject")
   If (Not fso Is Nothing) Then Return fso.FileExists(filespec)
End Function

Ответить

Номер ответа: 5
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #5 Добавлено: 09.12.06 20:40
а вообще API есть

Ответить

Номер ответа: 6
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #6 Добавлено: 10.12.06 19:33
учитесь уже указывать типы данных
человек просил помощь - он её получил!
оптимизация кода - дело рук творящих :)

Ответить

Номер ответа: 7
Автор ответа:
 Sacred Phoenix



ICQ: 304238252 

Вопросов: 52
Ответов: 927
 Профиль | | #7 Добавлено: 11.12.06 21:44
оптимизация кода - дело рук творящих :)
это ж новичок, а ты гришь оптимизировать ;)

Ответить

Номер ответа: 8
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #8 Добавлено: 22.12.06 22:02
2 Sacred
вот это не прокатит!
Function ReportFileStatus(ByVal filespec As String) As Boolean
Dim fso As Object
   Set fso = CreateObject("Scripting.FileSystemObject";)
   If (Not fso Is Nothing) Then Return fso.FileExists(filespec)
End Function

ошибка вот здесь
If (Not fso Is Nothing) Then [B]Return[/B] fso.FileExists(filespec)

предлагаю вот так
If (Not fso Is Nothing) Then  ReportFileStatus = True

иначе нет возвращения значения функции

Ответить

Номер ответа: 9
Автор ответа:
 night-roll



Вопросов: 36
Ответов: 326
 Профиль | | #9 Добавлено: 14.01.07 15:45
ещё вот такую вещь я использовал

Function ExDir(iPath As String) As Boolean  ' проверка директории
    ExDir = IIf(Dir(iPath, vbDirectory) <> "", True, False)
End Function

Function ExFile(iFileName As String, iPath As String) As Boolean  ' проверка наличия файла
    ExFile = IIf(iFileName = Dir(iFullName & iFileName), True, False)
End Function


где iFileName ' имя файла вида "MyFileName"
    iPath ' имя директории вида "С:\MyDir\"
обращаю внимание на "\" в конце iPath

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам