Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка совпадения имен файлов / 9 сообщений из 9, страница 1 из 1
01.03.2017, 23:42
    #39412879
MaxLerXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
Здравствуйте.
Макросом из Ворда сохраняю файл в нужную папку на диске. При этом если файл с таким именем уже есть в этой папке, то он перезаписывается. Хочу понять как выполнить проверку наличия уже существующего файла с таким именем, чтобы можно было реализовать возможность выбора замены файла, сохранения под другим именем или отмены сохранения. Точнее, проверку нужно производить по части имени.
Пример: есть файл TZ_105-17_01.03.2017.docm. Создаётся файл TZ_105-17_05.03.2017.docm. Как видите меняется дата. Но двух одинаковых документов с номером 105-17 не должно быть.
Я в этом деле новичок и только начинаю изучать VB, поэтому если что не так прошу прощения за глупые вопросы.
...
Рейтинг: 0 / 0
01.03.2017, 23:48
    #39412880
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
C помощью функции Dir перебрать все файлы в папке, проверяя, не совпадает ли искомая часть имени.
...
Рейтинг: 0 / 0
02.03.2017, 10:10
    #39412967
The_Prist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
Shocker.ProC помощью функции Dir перебрать все файлы в папке
Shocker.Pro,
при помощи Dir можно сразу маску задать :)
MaxLerXXXесть файл TZ_105-17_01.03.2017.docm. Создаётся файл TZ_105-17_05.03.2017.docm
Код: vbnet
1.
2.
3.
4.
5.
sP = "C:\test\файлы какие-то\" 'путь к папке с файлами
sf = dir(sP & "TZ_105-17_??.??.??.docm")
if sf <> "" then
msgbox "файл уже есть в папке!"
end if


если на конце может быть не только дата, то можно и так:
Код: vbnet
1.
sf = dir(sP & "TZ_105-17_*.docm")
...
Рейтинг: 0 / 0
02.03.2017, 10:13
    #39412969
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
The_Pristпри помощи Dir можно сразу маску задать :)и действительно ))
...
Рейтинг: 0 / 0
02.03.2017, 10:28
    #39412976
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
MaxLerXXXПри этом если файл с таким именем уже есть в этой папке, то он перезаписывается. Хочу понять как выполнить проверку наличия уже существующего файла с таким именем, чтобы можно было реализовать возможность выбора замены файла, сохранения под другим именем или отмены сохранения. Точнее, проверку нужно производить по части имени.Не надо никаких проверок - это лишнее и нахрен не нужное телодвижение. Просто безусловно удаляйте по требуемой маске при отключенном обработчике ошибки. Есть файл - удалится, нет - хуже не станет.
...
Рейтинг: 0 / 0
02.03.2017, 10:51
    #39412998
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
AkinaПросто безусловно удаляйтеВообще-то автор хотел сохранять под другим именем, а не удалять ))
...
Рейтинг: 0 / 0
02.03.2017, 23:04
    #39413412
MaxLerXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
Shocker.Pro,
Спасибо за Ваш ответ.
...
Рейтинг: 0 / 0
02.03.2017, 23:14
    #39413418
MaxLerXXX
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
The_Prist,

Благодарю за ответ. Хочу только уточнить: а я могу в качестве маски для "105-17" или "TZ_105-17_" задать переменную? Потому что номера будут постоянно меняться.
...
Рейтинг: 0 / 0
02.03.2017, 23:21
    #39413420
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проверка совпадения имен файлов
да
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проверка совпадения имен файлов / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]