Страницы: 1
RSS
автоматическая загрузка текст.файла в excel
 
Всем привет!
Можете помочь написать следующий макрос? Есть папка (например, C:\test), в которую сохраняются файлы с расширением .wri (текстовый файл). Нужен макрос, который бы находил самый последний файл в папке и загружал в excel с заданной периодичностью (например, каждые 60 мин.).
Работаю в office 2010.
 
Кросс: http://www.excelworld.ru/forum/10-7470-1
Я сам - дурнее всякого примера! ...
 
Цитата
Можете помочь написать следующий макрос?
Можем. Позвольте поинтересоваться - что уже написано?
 
Цитата
Нужен макрос, который бы находил самый последний файл в папке
Готовая функция с примером использования
http://excelvba.ru/code/lastfile

Цитата
загружал в excel
и такое есть:
http://excelvba.ru/code/csv2excel

Цитата
с заданной периодичностью (например, каждые 60 мин.)

используйте Application.OnTime
 
Цитата
Можем. Позвольте поинтересоваться - что уже написано?

Пока написан макрос, который преобразует текстовый файл в нужный формат (см. вложение). Данные из файла вставляются обычным копи-паст. Теперь хотелось бы автоматизировать обновление файла.
Примеры на excelvba видел, но хотелось бы комментариев для "Чайника" :)
 
Судя по коду, не такой вы уж и "чайник"
Алгоритм
1. Прописываем вызов метода (пусть будет Update60) в обработчике события открытия книги
2. В методе Update60 через Dir по заданному пути и маске файлов и, используя
Код
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject" ;) 
'использование пути и имени файла для поиска самого нового по дате
fso.GetFile(FilePath).DateCreated 'получить дату создания
'или
fso.GetFile(FilePath).DateLastModified 'получить дату изменения
'или даже
fso.GetFile(FilePath).DateLastAccessed 'дата последнего открытия

анализируем файлы на "самый" новый, смотря что вы считаете новым.
3. Прописываем вызов этого метода через час, используя
Application.OnTime Now + TimeSerial(1, 0, 0), "Update60"
детали по OnTime легко можно найти поиском.
Успехов
Изменено: anvg - 27.11.2013 05:38:37
Страницы: 1
Читают тему
Наверх