Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск файлов в папке и её подпапках - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Поиск файлов в папке и её подпапках (Для тех, кто точно помнит, что файл был, но вот где?)
Поиск файлов в папке и её подпапках
Alex_ST Дата: Пятница, 22.06.2012, 15:31 | Сообщение № 1
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Выводится список файлов, найденных в заданной папке.
Можно задавать глубину "погружения" в подпапки и маску имён файлов
В ячейки столбцов для каждого из найденных файлов выводятся:
- имя файла - гиперссылка на файл
- полный или сокращённый (от заданной папки) путь к файлу
- дата и время создания файла
- размер файла
- дата и время модификации файла
Прицеплен "Удобный автофильтр", позволяющий легко фильтровать полученные данные.
К сообщению приложен файл: FindFile_v.1.1.zip (74.4 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 22.06.2012, 20:45
 
Ответить
СообщениеВыводится список файлов, найденных в заданной папке.
Можно задавать глубину "погружения" в подпапки и маску имён файлов
В ячейки столбцов для каждого из найденных файлов выводятся:
- имя файла - гиперссылка на файл
- полный или сокращённый (от заданной папки) путь к файлу
- дата и время создания файла
- размер файла
- дата и время модификации файла
Прицеплен "Удобный автофильтр", позволяющий легко фильтровать полученные данные.

Автор - Alex_ST
Дата добавления - 22.06.2012 в 15:31
Alex_ST Дата: Пятница, 22.06.2012, 21:59 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
К стати, кто подскажет, где я нахомутал (просто, наверное, глаз замылился)?
Заметил при тестировании два мелких косяка:
1. Значение чек-бокса SheetFind.CheckBox_ShortPath при открытии файла сохраняется таким, каким оно было при сохранении перед закрытием. А вот переменная ShortPath, которую я пытаюсь по нему выставить в процедурах обработки событий Workbook_Open, Worksheet_Activate, Worksheet_Activate ставиться не хочет. Поэтому перед первым поиском приходится чекнуть бокс туда-обратно чтобы результат ему соответствовал.
2. В процедуре [vba]
Code
Sub ОчисткаСписка()
     On Error Resume Next
     If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData   ' сбросить фильтры
     Intersect(Rows("6:" & Rows.Count), ActiveSheet.UsedRange).ClearContents   ' удалить содержимое
     Intersect(Rows("7:" & Rows.Count), ActiveSheet.UsedRange).Rows.Delete Shift:=xlUp   ' сократить UsedRange
     ActiveSheet.Cells(1, 1).End(xlDown).Offset(1).Select   '  сдвинуть экран к последней заполненной ячейке
End Sub
[/vba]после удаления строк UsedRange чистится не сразу (видно по размеру "бегунка" прокрутки строк), а только по второму нажатию.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 22.06.2012, 22:01
 
Ответить
СообщениеК стати, кто подскажет, где я нахомутал (просто, наверное, глаз замылился)?
Заметил при тестировании два мелких косяка:
1. Значение чек-бокса SheetFind.CheckBox_ShortPath при открытии файла сохраняется таким, каким оно было при сохранении перед закрытием. А вот переменная ShortPath, которую я пытаюсь по нему выставить в процедурах обработки событий Workbook_Open, Worksheet_Activate, Worksheet_Activate ставиться не хочет. Поэтому перед первым поиском приходится чекнуть бокс туда-обратно чтобы результат ему соответствовал.
2. В процедуре [vba]
Code
Sub ОчисткаСписка()
     On Error Resume Next
     If ActiveSheet.FilterMode Then ActiveSheet.ShowAllData   ' сбросить фильтры
     Intersect(Rows("6:" & Rows.Count), ActiveSheet.UsedRange).ClearContents   ' удалить содержимое
     Intersect(Rows("7:" & Rows.Count), ActiveSheet.UsedRange).Rows.Delete Shift:=xlUp   ' сократить UsedRange
     ActiveSheet.Cells(1, 1).End(xlDown).Offset(1).Select   '  сдвинуть экран к последней заполненной ячейке
End Sub
[/vba]после удаления строк UsedRange чистится не сразу (видно по размеру "бегунка" прокрутки строк), а только по второму нажатию.

Автор - Alex_ST
Дата добавления - 22.06.2012 в 21:59
Alex_ST Дата: Среда, 27.06.2012, 13:41 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Полирнул код и "продвинул" (расширил и углУбил) интерфейс:
- добавлен лист с избранными путями поиска и возможность выбора пути из их списка
- пути поиска при их добавлении по кнопке "Добавить в Избранные" унифицируются и сортируются автоматически.
- для ускорения процедуры и удобства работы с результатами (чтобы при выделении случайно не кликнуть на ссылку) гиперссылки теперь не ставятся по умолчанию, а есть кнопка для из установки/удаления
- по даблклику по имени файла теперь можно открыть файл, по полному пути - открыть папку
- кнопки теперь "интерактивные"
- и что-то ещё (не помню)

Прошу прощения. Обнаружил ошибку cry
Файл отсюда удаляю. Исправленный файл - в следующем посте.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Четверг, 28.06.2012, 12:11
 
Ответить
СообщениеПолирнул код и "продвинул" (расширил и углУбил) интерфейс:
- добавлен лист с избранными путями поиска и возможность выбора пути из их списка
- пути поиска при их добавлении по кнопке "Добавить в Избранные" унифицируются и сортируются автоматически.
- для ускорения процедуры и удобства работы с результатами (чтобы при выделении случайно не кликнуть на ссылку) гиперссылки теперь не ставятся по умолчанию, а есть кнопка для из установки/удаления
- по даблклику по имени файла теперь можно открыть файл, по полному пути - открыть папку
- кнопки теперь "интерактивные"
- и что-то ещё (не помню)

Прошу прощения. Обнаружил ошибку cry
Файл отсюда удаляю. Исправленный файл - в следующем посте.

Автор - Alex_ST
Дата добавления - 27.06.2012 в 13:41
Alex_ST Дата: Четверг, 28.06.2012, 12:15 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Ещё раз прошу прощения за допущенную в предыдущем посте ошибку в процедуре.
Кроме того, наткнулся на недокументированное ограничение Excel: гиперссылок на листе может быть не более 65530 штук.
Просканировал у себя Programm Files и при попытке расставить гиперссылки вылетел в отладку sad
Ошибку исправил. Ограничение учёл.
К сообщению приложен файл: FindFiles_1.3.1.zip (89.1 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЕщё раз прошу прощения за допущенную в предыдущем посте ошибку в процедуре.
Кроме того, наткнулся на недокументированное ограничение Excel: гиперссылок на листе может быть не более 65530 штук.
Просканировал у себя Programm Files и при попытке расставить гиперссылки вылетел в отладку sad
Ошибку исправил. Ограничение учёл.

Автор - Alex_ST
Дата добавления - 28.06.2012 в 12:15
adaebella Дата: Пятница, 26.10.2012, 22:49 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

здраствуйте Alex ST . мне очень нужна ваша помощь в екселе . пожалоста ответь мне или здесь или прямо в скайп : ruslan4963 . зарание спасибо и буду ждать своево ответа. с уважениям Русан
 
Ответить
Сообщениездраствуйте Alex ST . мне очень нужна ваша помощь в екселе . пожалоста ответь мне или здесь или прямо в скайп : ruslan4963 . зарание спасибо и буду ждать своево ответа. с уважениям Русан

Автор - adaebella
Дата добавления - 26.10.2012 в 22:49
KuklP Дата: Пятница, 26.10.2012, 23:52 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
adaebella, для таких сообщений есть кнопка "Приват".


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщениеadaebella, для таких сообщений есть кнопка "Приват".

Автор - KuklP
Дата добавления - 26.10.2012 в 23:52
Alex_ST Дата: Понедельник, 29.10.2012, 09:42 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Quote (adaebella)
буду ждать своево ответа
Ждите ответа, ждите ответа, ждите ответа, ждите ответа, ждите ответа… biggrin

А вообще, правильно написал Сергей: личные вопросы - в личной почте. А если вопрос по теме, то спрашивайте здесь.
Но сразу предупреждаю: дистанционным обучением VBA я не занимаюсь и за деньги писать программы не собираюсь, т.к. Excel-2003 - моё хобби, а не источник дохода.
А по Скайпу я не общаюсь ни с кем кроме своих друзей.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 29.10.2012, 09:44
 
Ответить
Сообщение
Quote (adaebella)
буду ждать своево ответа
Ждите ответа, ждите ответа, ждите ответа, ждите ответа, ждите ответа… biggrin

А вообще, правильно написал Сергей: личные вопросы - в личной почте. А если вопрос по теме, то спрашивайте здесь.
Но сразу предупреждаю: дистанционным обучением VBA я не занимаюсь и за деньги писать программы не собираюсь, т.к. Excel-2003 - моё хобби, а не источник дохода.
А по Скайпу я не общаюсь ни с кем кроме своих друзей.

Автор - Alex_ST
Дата добавления - 29.10.2012 в 09:42
RAN Дата: Понедельник, 29.10.2012, 21:11 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Quote (Alex_ST)
гиперссылок на листе может быть не более 65530 штук

Леш, это от версии не зависит? Или это ограничение твоего любимого?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Quote (Alex_ST)
гиперссылок на листе может быть не более 65530 штук

Леш, это от версии не зависит? Или это ограничение твоего любимого?

Автор - RAN
Дата добавления - 29.10.2012 в 21:11
Alex_ST Дата: Понедельник, 29.10.2012, 21:21 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Привет, Андрей!
Вот в упор не помню. Разбирался с этим в июне и всё уже выветрилось из головы.
На 2003-ем точно. На 2007/2010, кажется, тоже. Но не на 100% уверен.
Но ведь проверить-то просто: убери в коде ограничение на количество гиперссылок и просканируй без ограничения глубины что-нибудь монструозное, ну, например C:\Windows biggrin



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеПривет, Андрей!
Вот в упор не помню. Разбирался с этим в июне и всё уже выветрилось из головы.
На 2003-ем точно. На 2007/2010, кажется, тоже. Но не на 100% уверен.
Но ведь проверить-то просто: убери в коде ограничение на количество гиперссылок и просканируй без ограничения глубины что-нибудь монструозное, ну, например C:\Windows biggrin

Автор - Alex_ST
Дата добавления - 29.10.2012 в 21:21
KuklP Дата: Понедельник, 29.10.2012, 21:22 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
65536. И это еще не все свинство мелкомягких. Не знаю, как с гиперссылками, а формулы листа в макросах не могут обрабатывать массивы большего размера. В том числе и в новых версиях. При миллионе строк на листе, это, мягко говоря, жалко выглядит.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение65536. И это еще не все свинство мелкомягких. Не знаю, как с гиперссылками, а формулы листа в макросах не могут обрабатывать массивы большего размера. В том числе и в новых версиях. При миллионе строк на листе, это, мягко говоря, жалко выглядит.

Автор - KuklP
Дата добавления - 29.10.2012 в 21:22
Alex_ST Дата: Понедельник, 29.10.2012, 21:24 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Quote (KuklP)
65536
или всё-таки 65535 ? biggrin



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (KuklP)
65536
или всё-таки 65535 ? biggrin

Автор - Alex_ST
Дата добавления - 29.10.2012 в 21:24
KuklP Дата: Понедельник, 29.10.2012, 21:27 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А кто мешает тебе открыть свой(наш) любимый и нажать ctrl+down? tongue


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеА кто мешает тебе открыть свой(наш) любимый и нажать ctrl+down? tongue

Автор - KuklP
Дата добавления - 29.10.2012 в 21:27
RAN Дата: Понедельник, 29.10.2012, 22:19 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Quote (Alex_ST)
просканируй без ограничения глубины что-нибудь монструозное, ну, например C:\Windows

ГЫ! У меня даже там всего половина!


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Quote (Alex_ST)
просканируй без ограничения глубины что-нибудь монструозное, ну, например C:\Windows

ГЫ! У меня даже там всего половина!

Автор - RAN
Дата добавления - 29.10.2012 в 22:19
Alex_ST Дата: Вторник, 30.10.2012, 09:04 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Серёга, а ты про что без пояснения написал
Quote (KuklP)
65536

Я вообще-то говорил про количество гиперссылок на листе. Так их ТОЧНО 65530
Я это проверял в пошаговом режиме (естественно, не нажимая 65000 раз F8, а тормознув программу Stop'ом на 65520 biggrin - лень было делать Exit For по ошибке )

А строк на листе нашего любимого 2003-го, действительно 65536.

А в ящике пива 24 бутылки, а в сутках 24 часа. Совпадение? biggrin



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 30.10.2012, 09:05
 
Ответить
СообщениеСерёга, а ты про что без пояснения написал
Quote (KuklP)
65536

Я вообще-то говорил про количество гиперссылок на листе. Так их ТОЧНО 65530
Я это проверял в пошаговом режиме (естественно, не нажимая 65000 раз F8, а тормознув программу Stop'ом на 65520 biggrin - лень было делать Exit For по ошибке )

А строк на листе нашего любимого 2003-го, действительно 65536.

А в ящике пива 24 бутылки, а в сутках 24 часа. Совпадение? biggrin

Автор - Alex_ST
Дата добавления - 30.10.2012 в 09:04
KuklP Дата: Вторник, 30.10.2012, 09:10 | Сообщение № 15
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Леш, это делается без stop. add watch - i=65530 - ставим радиоточку на break if true. Потом этот watch можно редактировать прямо в окне watches:-)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеЛеш, это делается без stop. add watch - i=65530 - ставим радиоточку на break if true. Потом этот watch можно редактировать прямо в окне watches:-)

Автор - KuklP
Дата добавления - 30.10.2012 в 09:10
Alex_ST Дата: Вторник, 30.10.2012, 09:11 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Серёга, хорош флудить.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеСерёга, хорош флудить.

Автор - Alex_ST
Дата добавления - 30.10.2012 в 09:11
KuklP Дата: Вторник, 30.10.2012, 09:12 | Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А где флуд? Все по теме.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеА где флуд? Все по теме.

Автор - KuklP
Дата добавления - 30.10.2012 в 09:12
Alex_ST Дата: Вторник, 04.12.2012, 13:39 | Сообщение № 18
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Подправил файл (там, оказывается, поломалась расстановка гиперссылок)
К сообщению приложен файл: __v.1.3.1.xls.zip (96.7 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 04.12.2012, 13:40
 
Ответить
СообщениеПодправил файл (там, оказывается, поломалась расстановка гиперссылок)

Автор - Alex_ST
Дата добавления - 04.12.2012 в 13:39
Алексей Дата: Пятница, 21.06.2013, 20:04 | Сообщение № 19
Группа: Гости
Подскажите , а как сделать так что бы еще можно было особым образом помечать файлы и удалять их ?
 
Ответить
СообщениеПодскажите , а как сделать так что бы еще можно было особым образом помечать файлы и удалять их ?

Автор - Алексей
Дата добавления - 21.06.2013 в 20:04
Alex_ST Дата: Пятница, 21.06.2013, 21:17 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3199
Репутация: 606 ±
Замечаний: 0% ±

2003
Дорабатывать надо... И самое главное - придумать как именно удобно
Цитата (Алексей)
особым образом помечать файлы

Но мне это не нужно, а времени свободного сейчас нет...
Так что извините, но я сейчас с этим ковыряться просто не могу.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеДорабатывать надо... И самое главное - придумать как именно удобно
Цитата (Алексей)
особым образом помечать файлы

Но мне это не нужно, а времени свободного сейчас нет...
Так что извините, но я сейчас с этим ковыряться просто не могу.

Автор - Alex_ST
Дата добавления - 21.06.2013 в 21:17
Мир MS Excel » Вопросы и решения » Готовые решения » Поиск файлов в папке и её подпапках (Для тех, кто точно помнит, что файл был, но вот где?)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!