Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как проингнорировать регистр букв?

248
24 ноября 2007 года
Dmitry2064
590 / / 06.12.2006
Простенький вопрос, но сам пока не соображу.
По названию папки я ищу картинки. Но выяснилось, что название папки могут написать то с большой буквы , то с маленькой. Как искать независимо от регистра букв? А то ведь макрос не найдет ничего.

Вопрос расиширился.
Оказывается и младшая папка тоже может менять свое название.
Итак, варианты:
[COLOR="Navy"]Аналитика\фото\
аналитика\фото\
Аналитика\фоки\
Аналитика\фоки\[/COLOR]

Как записать, чтобы фотки нашлись в любом случае?
Может просто искать папку с [COLOR="Navy"]Instr("фот") [/COLOR] внутри [COLOR="Navy"]Instr("налитик") [/COLOR]и делать ее рабочей?
А как это записать?

А может надо сделать двумерный массив из этих 2х2 вариантов? Опять же как это можно записать?

Спасибо.
5.9K
24 ноября 2007 года
SPB-667
119 / / 23.06.2007
Вариантов конечно много, но если я правильно понял суть проблемы, то самый простой - переводить все символы адреса в нижний (или верхний) регистр с помощью функций LCase (UCase).
251
25 ноября 2007 года
SkyMаn
1.7K / / 31.07.2007
Все значительно просто. Достаточно два варианта, какие сравниваются, перемутить функцией UCase$(strParam) - она делает все буквы в строке strParam прописными.
Следовательно, условия сравнения при поиске (или маска - я не видел ваш код) - должны быть что-то типа в этом роде:
if ucase$(strDir)="АНАЛИТИКА/ФОТКИ" ...
На счет того, что могут называть папки по-другому, то можно подключить библиотке регулярных выражений, или действительно сделать одномерный массив, где в качестве его эллементов - разнообразные варианты папок.
Еще неплохой вариант : Dir("[COLOR=Navy]фот*[/COLOR]", vbDirectory) Dir("[COLOR=Navy]?налитика[/COLOR]", vbDirectory)

[COLOR=Navy][/COLOR]
248
25 ноября 2007 года
Dmitry2064
590 / / 06.12.2006
ВОт это мне понравилось:
Dir("фот*", vbDirectory) Dir("?налитика", vbDirectory)
Буду пробовать.

Спасибо.
405
26 ноября 2007 года
Dmitrii
554 / / 16.12.2004
Цитата: Dmitry2064
... Как искать независимо от регистра букв? ...


На будущее:
- либо использовать в начале модуля инструкцию [color=blue]Option Compare Text[/color];
- либо использовать функцию [color=blue]StrComp()[/color], указав режим сравнения vbTextCompare.

248
26 ноября 2007 года
Dmitry2064
590 / / 06.12.2006
Пока получилось таким образом:

for each pap in Array ("Аналитика\фото\", "аналитика\фото\", _
"Аналитика\фотки\", "Аналитика\фотки\")
filecopy pap, papmy
...
...
next

Но чувствую, что можно записать красивее с помощью StrComp()
или с помощью Dir("фот*", vbDirectory) и Dir("?налитика", vbDirectory).
Правда у самого не хватает воображения.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог