Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Вопрос по поиску файла в известной папке  [new]
vinni
Member

Откуда:
Сообщений: 662
Есть такая проблема:
1. Ну жно проверить сущиствование папки "D:\fin2003\"
2. Найти в этой папке все аксесовские файлы по шаблону "fin2003_*.mdb"
3. В место звездочки число, найти файл с максимальнім числом
Если кто знает как єто сделать то буду очень признателен
7 фев 03, 12:05    [124207]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поиску файла в известной папке  [new]
-=Alexey=-
Member

Откуда:
Сообщений: 245
Самое простое, воспользоваться методами объекта FileSystemObject. В ссылках подключаешь Microsoft Scripting Runtime (файлик называется Scrrun.dll). Далее в коде

Dim fso As New Scripting.FileSystemObject

If fso.FolderExists("D:\fin2003\") Then MsgBox "Exist"

по пунктам 2. и 3. можно воспользоваться объектом FileSearch из библиотеки Microsoft Office xx Object Library.
Далее пример (from msdn)

Function CustomFindFile(strFileSpec As String)

' This procedure demonstrates a simple file-search'
' routine that displays a message box containing the'
' names of all files in the "c:\" directory that'
' match the file specifications provided in the'
' strFileSpec argument.'
' The strFileSpec argument can contain one or more file'
' specifications in a semicolon-delimited list. For example, the'
' following strFileSpec argument will return all files'
' in the "c:\" that contain these extensions: "*.log;*.bat;*.ini"'

Dim fsoFileSearch As Office.FileSearch
Dim varFile As Variant
Dim strFileList As String

' If the input in valid, then process the file search.'
If Len(strFileSpec) >= 3 And InStr(strFileSpec, "*.") > 0 Then
Set fsoFileSearch = Application.FileSearch
With fsoFileSearch
.NewSearch
.LookIn = "c:\"
.FileName = strFileSpec
.SearchSubFolders = False
If .Execute() > 0 Then
For Each varFile In .FoundFiles
strFileList = strFileList & varFile & vbCrLf
Next varFile
End If
End With
MsgBox strFileList
Else
MsgBox strFileSpec & " is not a valid file specification."
Exit Function
End If
End Function
7 фев 03, 13:39    [124339]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поиску файла в известной папке  [new]
AlexJuice
Member

Откуда: Не от мира сего
Сообщений: 1413
По п.1 - отнюдь... Самое простое будет как раз использовать Dir
If Dir(MyFolder)<>"" Then MsgBox "FolderExists!"
7 фев 03, 15:59    [124537]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Вопрос по поиску файла в известной папке  [new]
Rodion Doroshkevich
Member

Откуда:
Сообщений: 34
А то-же самое, но только с UNC путями можно в примерчике?
8 июл 04, 16:24    [794244]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поиску файла в известной папке  [new]
Темный
Member

Откуда:
Сообщений: 11941
Rodion Doroshkevich
А то-же самое, но только с UNC путями можно в примерчике?

А самому проверить?
8 июл 04, 16:26    [794257]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поиску файла в известной папке  [new]
Rodion Doroshkevich
Member

Откуда:
Сообщений: 34
Проверил - у меня не работает, делал так:
Dim fs, ex
Dim full_name as String

full_name = "\\server\d$\test\a.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set ex = fs.FileExist(full_name) и вот на этой строке она говорит - Object dosn't support this property or method

Причем этот файл на ресурсе есть и доступ у меня полный
8 июл 04, 16:36    [794305]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поиску файла в известной папке  [new]
Темный
Member

Откуда:
Сообщений: 11941
FileExist возвращает значение типа Boolean.
Заведи переменную этого самого типа и присваивай ей возвращаемое значение.
И будет тебе ЩАСТЬЕ
8 июл 04, 16:50    [794359]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поиску файла в известной папке  [new]
Rodion Doroshkevich
Member

Откуда:
Сообщений: 34
Ага, ок, делаю:
Dim fs
As ex Boolean
Dim full_name as String

full_name = "\\server\d$\test\a.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
Set ex = fs.FileExist(full_name)
и на "ex = " - object required!
Если:
ex = fs.FileExist(full_name), то Object dosn't support this property or method
8 июл 04, 16:59    [794390]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по поиску файла в известной папке  [new]
Rodion Doroshkevich
Member

Откуда:
Сообщений: 34
А-а-а-а я ИДИОТ, всем сорри!!!
Надо же FileExists, а не FileExist!!!
Все проблема решилась!
Еще раз сорри!!!
8 июл 04, 17:04    [794409]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить