Прошу подсказать как можно получить перечень дат изменения (последнего сохранения) файлов Excel. Файлы находятся группами в разных подпапках. Список дат необходимо получить один, на одном листе. Возможен макрос, идеально - если все-таки есть готовая функция Excel (не нашел).
Там будет просто текст, вбитый руками. Пути привел на случай, если есть разница между локальным расположением и сетевым. Нужны только обновляемые по необходимости даты. Кстати, не осознал как их обновлять. Либо при открытии/сохранении книги, либо еще как (?).
Да, не сообразил существенный, наверное, момент. Иногда файлы бывают с расширением xlsx. Причем, пользователи могут изменить его спонтанно. При использовании формул связи меняются быстро через меню эксель. Возможно ли такое при использовании макроса?
d74, несомненно, вопрос другой, но принципиальная часть там отражена. На основании той ссылки макрос.
Код
Sub files_list_with_date_edit()
Path = "C:\"
Name = Dir(Path & "*.xls*")
varRowStart = ActiveSheet.UsedRange.Rows.Count + 1
varCounter = 0
Do
Cells(varRowStart + varCounter, 1).Value = Name
Cells(varRowStart + varCounter, 2).Value = FileDateTime(Path & Name)
varCounter = varCounter + 1
Name = Dir
Loop Until Name = ""
End Sub
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
JayBhagavan пишет: d74 , несомненно, вопрос другой, но принципиальная часть там отражена. На основании той ссылки макрос.
Настораживают меня конкретные пути и пустые синие кавычки - видимо, потребует адаптации, а начальный курс VBA у меня десятилетней давности. JayBhagavan спасибо за участие.
d74, так это и есть подсказка. В примере нет списка для поиска. Я в ВБА не спец. Для постижения ВБА на примерах подключаюсь к не сложным вопросам. А доработать, как Вы хотите, думаю будет не слишком трудно, если организовать базовую таблицу по полной программе.
Формула массива (ФМ) вводится Ctrl+Shift+Enter Memento mori
d74 пишет: Настораживают меня конкретные пути и пустые синие кавычки
он (макрос) просто перебирает файлы (в папке Dir(Path & "*.xls*") с расширением xls) до момента пока файлы не закончатся... т е уже " " нечего перебирать
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
d74 пишет: и непонятно куда он должен записывать даты, куда подставить нужный мне лист и диапазон клеток
всё в коде: лист ActiveSheet - на активный... даты он записывает в Cells... если лист пустой и ничего не появляется - поставьте хоть какую точку хоть в какую ячейку - т к он оценивает UsedRange - на пустом листе у него может нет ориентира... или надо править код - с ходу не подскажу - не знаю ваш случай... иначе конкретно по вашей ошибке - затрудняюсь ответить...- (не может установить режим "только чтение")... а может потому что они (файлы) у вас в сети...
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
Path - свойство рабочей книги, только для чтения. А Вы пытаетесь его изменить. Вот и ошибка. Измените имя переменной Path на не зарезервированное. Например sPath. И код поместите в стандартный модуль, а не в ЭтаКнига.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Прошу подсказать как можно получить перечень дат изменения
Откройте файл, в ячейке С1 дважды кликните мышкой и будет Вам счастье. Файл нашел здесь . Автор: EducatedFool (Игорь), в файле это написано., Кое что я переделал под себя, для удобства . Думаю автор не обидится. Соберите списки из всех подпапок на лист, после копируйте его куда хотите.