Как проингнорировать регистр букв?
По названию папки я ищу картинки. Но выяснилось, что название папки могут написать то с большой буквы , то с маленькой. Как искать независимо от регистра букв? А то ведь макрос не найдет ничего.
Вопрос расиширился.
Оказывается и младшая папка тоже может менять свое название.
Итак, варианты:
[COLOR="Navy"]Аналитика\фото\
аналитика\фото\
Аналитика\фоки\
Аналитика\фоки\[/COLOR]
Как записать, чтобы фотки нашлись в любом случае?
Может просто искать папку с [COLOR="Navy"]Instr("фот") [/COLOR] внутри [COLOR="Navy"]Instr("налитик") [/COLOR]и делать ее рабочей?
А как это записать?
А может надо сделать двумерный массив из этих 2х2 вариантов? Опять же как это можно записать?
Спасибо.
Вариантов конечно много, но если я правильно понял суть проблемы, то самый простой - переводить все символы адреса в нижний (или верхний) регистр с помощью функций LCase (UCase).
Следовательно, условия сравнения при поиске (или маска - я не видел ваш код) - должны быть что-то типа в этом роде:
if ucase$(strDir)="АНАЛИТИКА/ФОТКИ" ...
На счет того, что могут называть папки по-другому, то можно подключить библиотке регулярных выражений, или действительно сделать одномерный массив, где в качестве его эллементов - разнообразные варианты папок.
Еще неплохой вариант : Dir("[COLOR=Navy]фот*[/COLOR]", vbDirectory) Dir("[COLOR=Navy]?налитика[/COLOR]", vbDirectory)
[COLOR=Navy][/COLOR]
Dir("фот*", vbDirectory) Dir("?налитика", vbDirectory)
Буду пробовать.
Спасибо.
Цитата: Dmitry2064
... Как искать независимо от регистра букв? ...
На будущее:
- либо использовать в начале модуля инструкцию [color=blue]Option Compare Text[/color];
- либо использовать функцию [color=blue]StrComp()[/color], указав режим сравнения vbTextCompare.
for each pap in Array ("Аналитика\фото\", "аналитика\фото\", _
"Аналитика\фотки\", "Аналитика\фотки\")
filecopy pap, papmy
...
...
next
Но чувствую, что можно записать красивее с помощью StrComp()
или с помощью Dir("фот*", vbDirectory) и Dir("?налитика", vbDirectory).
Правда у самого не хватает воображения.