Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2012, 15:10   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Проверка наличия файла в папке по имени

Добрый день, уважаемые форумчане!
Вот этим кодом:
Sub VerifyFileLocation()
Dim strFileName As String
Dim strFileTitle As String
strFileTitle = "1.xlsx"
strFileName = "D:\Макрос\1.xlsx"
If Dir(strFileName) <> "" Then
MsgBox "Файл " & strFileTitle & " найден"
Else
MsgBox "Файл " & strFileTitle & " не найден"
End If
End Sub

проверяю наличие конкретного файла в конкретной папке. Как прописать проверку не одного, а нескольких файлов (с конкретными именами) в этой же папке? Или просто по очереди проверять?
Ну это-то ладно, а вот если файл содержит в начале имени вчерашнюю дату, например "2012-07-06 1.xlsx". Как это можно учесть в макросе проверки?

Заранее спасибо!
strannick вне форума Ответить с цитированием
Старый 07.07.2012, 15:35   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

> Как прописать проверку не одного, а нескольких файлов (с конкретными именами) в этой же папке? Или просто по очереди проверять?
Да, по очереди.

> если файл содержит в начале имени вчерашнюю дату, например "2012-07-06 1.xlsx"
Ищите файлы по маске "* 1.xlsx" или "d:\????-??-?? 1.xlsx" (более строго).
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 07.07.2012, 15:40   #3
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
> Как прописать проверку не одного, а нескольких файлов (с конкретными именами) в этой же папке? Или просто по очереди проверять?
Да, по очереди.

Понял, спасибо.

> если файл содержит в начале имени вчерашнюю дату, например "2012-07-06 1.xlsx"
Ищите файлы по маске "* 1.xlsx" или "d:\????-??-?? 1.xlsx" (более строго).
По маске, в принципе подойдет, потому что имена заранее известны + впереди вчерашняя дата. А все-таки, как-то задать нельзя ли типа СЕГОДНЯ()-1?
strannick вне форума Ответить с цитированием
Старый 07.07.2012, 16:11   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а вот так и задайте:
format(date()-1,"YYYY-MM-DD")
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.07.2012, 16:40   #5
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

То есть, строка кода для задания имени для поиска должна быть?

strFileName = "D:\Макрос\format(date()-1,"YYYY-MM-DD") 1.xlsx"

Я чего так уточняю: мне после проверки файлов на наличие необходимо будет из них же вытягивать данные в искомый файл.
strannick вне форума Ответить с цитированием
Старый 07.07.2012, 17:46   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а самостоятельно слабо написать:
msgbox "D:\Макрос\format(date()-1,"YYYY-MM-DD") 1.xlsx"
и посмотреть что получилось
Вы уверены, что Вам надо все это макрописание?

пробуйте так:
strFileName = "D:\Макрос\" & format(date()-1,"YYYY-MM-DD") & " 1.xlsx"
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.07.2012, 18:04   #7
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Конечно же, написал так сразу:

strFileName = "D:\Макрос\" & Format(Date - 1, "YYYY-MM-DD") & " 1.xls"

Но так находит файл не со вчерашней датой, а с любой в имени плюс пробел1.xls

Виноват, все исправил, находит.

Последний раз редактировалось strannick; 07.07.2012 в 18:16.
strannick вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка наличия файла в иннете iskurt Помощь студентам 0 17.10.2011 16:24
Проверка наличия файла nervniy Работа с сетью в Delphi 4 28.10.2010 19:47
Проверка наличия файла kain151 Microsoft Office Word 3 10.03.2010 14:50
проверка наличия файла Juffin Общие вопросы Delphi 2 18.04.2009 14:17
Проверка наличия файла russian-stalker Общие вопросы Delphi 4 31.08.2008 19:27