Выводится список файлов, найденных в заданной папке. Можно задавать глубину "погружения" в подпапки и маску имён файлов В ячейки столбцов для каждого из найденных файлов выводятся: - имя файла - гиперссылка на файл - полный или сокращённый (от заданной папки) путь к файлу - дата и время создания файла - размер файла - дата и время модификации файла Прицеплен "Удобный автофильтр", позволяющий легко фильтровать полученные данные.
Выводится список файлов, найденных в заданной папке. Можно задавать глубину "погружения" в подпапки и маску имён файлов В ячейки столбцов для каждого из найденных файлов выводятся: - имя файла - гиперссылка на файл - полный или сокращённый (от заданной папки) путь к файлу - дата и время создания файла - размер файла - дата и время модификации файла Прицеплен "Удобный автофильтр", позволяющий легко фильтровать полученные данные.Alex_ST
К стати, кто подскажет, где я нахомутал (просто, наверное, глаз замылился)? Заметил при тестировании два мелких косяка: 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 чистится не сразу (видно по размеру "бегунка" прокрутки строк), а только по второму нажатию.
К стати, кто подскажет, где я нахомутал (просто, наверное, глаз замылился)? Заметил при тестировании два мелких косяка: 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
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Пятница, 22.06.2012, 22:01
Полирнул код и "продвинул" (расширил и углУбил) интерфейс: - добавлен лист с избранными путями поиска и возможность выбора пути из их списка - пути поиска при их добавлении по кнопке "Добавить в Избранные" унифицируются и сортируются автоматически. - для ускорения процедуры и удобства работы с результатами (чтобы при выделении случайно не кликнуть на ссылку) гиперссылки теперь не ставятся по умолчанию, а есть кнопка для из установки/удаления - по даблклику по имени файла теперь можно открыть файл, по полному пути - открыть папку - кнопки теперь "интерактивные" - и что-то ещё (не помню)
Прошу прощения. Обнаружил ошибку Файл отсюда удаляю. Исправленный файл - в следующем посте.
Полирнул код и "продвинул" (расширил и углУбил) интерфейс: - добавлен лист с избранными путями поиска и возможность выбора пути из их списка - пути поиска при их добавлении по кнопке "Добавить в Избранные" унифицируются и сортируются автоматически. - для ускорения процедуры и удобства работы с результатами (чтобы при выделении случайно не кликнуть на ссылку) гиперссылки теперь не ставятся по умолчанию, а есть кнопка для из установки/удаления - по даблклику по имени файла теперь можно открыть файл, по полному пути - открыть папку - кнопки теперь "интерактивные" - и что-то ещё (не помню)
Прошу прощения. Обнаружил ошибку Файл отсюда удаляю. Исправленный файл - в следующем посте.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Четверг, 28.06.2012, 12:11
Ещё раз прошу прощения за допущенную в предыдущем посте ошибку в процедуре. Кроме того, наткнулся на недокументированное ограничение Excel: гиперссылок на листе может быть не более 65530 штук. Просканировал у себя Programm Files и при попытке расставить гиперссылки вылетел в отладку Ошибку исправил. Ограничение учёл.
Ещё раз прошу прощения за допущенную в предыдущем посте ошибку в процедуре. Кроме того, наткнулся на недокументированное ограничение Excel: гиперссылок на листе может быть не более 65530 штук. Просканировал у себя Programm Files и при попытке расставить гиперссылки вылетел в отладку Ошибку исправил. Ограничение учёл.Alex_ST
здраствуйте Alex ST . мне очень нужна ваша помощь в екселе . пожалоста ответь мне или здесь или прямо в скайп : ruslan4963 . зарание спасибо и буду ждать своево ответа. с уважениям Русан
здраствуйте Alex ST . мне очень нужна ваша помощь в екселе . пожалоста ответь мне или здесь или прямо в скайп : ruslan4963 . зарание спасибо и буду ждать своево ответа. с уважениям Русанadaebella
А вообще, правильно написал Сергей: личные вопросы - в личной почте. А если вопрос по теме, то спрашивайте здесь. Но сразу предупреждаю: дистанционным обучением VBA я не занимаюсь и за деньги писать программы не собираюсь, т.к. Excel-2003 - моё хобби, а не источник дохода. А по Скайпу я не общаюсь ни с кем кроме своих друзей.
А вообще, правильно написал Сергей: личные вопросы - в личной почте. А если вопрос по теме, то спрашивайте здесь. Но сразу предупреждаю: дистанционным обучением VBA я не занимаюсь и за деньги писать программы не собираюсь, т.к. Excel-2003 - моё хобби, а не источник дохода. А по Скайпу я не общаюсь ни с кем кроме своих друзей.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Понедельник, 29.10.2012, 09:44
Привет, Андрей! Вот в упор не помню. Разбирался с этим в июне и всё уже выветрилось из головы. На 2003-ем точно. На 2007/2010, кажется, тоже. Но не на 100% уверен. Но ведь проверить-то просто: убери в коде ограничение на количество гиперссылок и просканируй без ограничения глубины что-нибудь монструозное, ну, например C:\Windows
Привет, Андрей! Вот в упор не помню. Разбирался с этим в июне и всё уже выветрилось из головы. На 2003-ем точно. На 2007/2010, кажется, тоже. Но не на 100% уверен. Но ведь проверить-то просто: убери в коде ограничение на количество гиперссылок и просканируй без ограничения глубины что-нибудь монструозное, ну, например C:\Windows Alex_ST
65536. И это еще не все свинство мелкомягких. Не знаю, как с гиперссылками, а формулы листа в макросах не могут обрабатывать массивы большего размера. В том числе и в новых версиях. При миллионе строк на листе, это, мягко говоря, жалко выглядит.
65536. И это еще не все свинство мелкомягких. Не знаю, как с гиперссылками, а формулы листа в макросах не могут обрабатывать массивы большего размера. В том числе и в новых версиях. При миллионе строк на листе, это, мягко говоря, жалко выглядит.KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728
Я вообще-то говорил про количество гиперссылок на листе. Так их ТОЧНО 65530 Я это проверял в пошаговом режиме (естественно, не нажимая 65000 раз F8, а тормознув программу Stop'ом на 65520 - лень было делать Exit For по ошибке )
А строк на листе нашего любимого 2003-го, действительно 65536.
А в ящике пива 24 бутылки, а в сутках 24 часа. Совпадение?
Серёга, а ты про что без пояснения написал
Quote (KuklP)
65536
Я вообще-то говорил про количество гиперссылок на листе. Так их ТОЧНО 65530 Я это проверял в пошаговом режиме (естественно, не нажимая 65000 раз F8, а тормознув программу Stop'ом на 65520 - лень было делать Exit For по ошибке )
А строк на листе нашего любимого 2003-го, действительно 65536.
А в ящике пива 24 бутылки, а в сутках 24 часа. Совпадение? Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Вторник, 30.10.2012, 09:05
Леш, это делается без stop. add watch - i=65530 - ставим радиоточку на break if true. Потом этот watch можно редактировать прямо в окне watches:-)
Леш, это делается без stop. add watch - i=65530 - ставим радиоточку на break if true. Потом этот watch можно редактировать прямо в окне watches:-)KuklP
Ну с НДС и мы чего-то стoим! kuklp60@gmail.com WM Z206653985942, R334086032478, U238399322728