Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.08.2016, 11:28   #1
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию Атрибуты DIR в Excel

Уважаемые форумчане!
В модуле
Код:
st1 = "\\172.18.13.110\arc\"
filename = Dir(st1 & "вода*.csv")
While filename <> ""
   st1 = Right(Left(filename, 5), 1)
   k3 = ryad(st1)
   ...
   CSVARR = LoadArrayFromTextFile(filename, 2, ";", vbNewLine)
   st2 = CSVARR(1, 1)
   ...
   coll.Add filename    ' СПАСИБО Игорь :)
   filename = Dir
Wend
в переменную filename записывается имя файла. К большому моему сожалению в переменной запись осуществляется в порядке возрастания названия файла.
Подскажите пожалуйста какие атрибуты в команде DIR использовать для чтения в порядке возрастания даты файла.
Loshara вне форума Ответить с цитированием
Старый 19.08.2016, 12:00   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Подскажите пожалуйста какие атрибуты в команде DIR использовать для чтения в порядке возрастания даты файла.
к сожалению, никакие атрибуты в команде DIR не позволят Вам это сделать.
Нужно менять алгоритм.

смотрите в сторону Microsoft Script Runtime + FSO (filesystemobject)

примеры:
http://www.exceltrick.com/formulas_m...object-in-vba/


здесь есть код, который Вам нужен:
https://social.msdn.microsoft.com/Fo...orum=accessdev


_

Последний раз редактировалось Serge_Bliznykov; 19.08.2016 в 12:31.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.08.2016, 12:04   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Вот поэтому я обычно формирую имя файла по шаблону yyyymmddhhmm.
А параметров у DIR() всего 2 - Dir[(pathname[, attributes])]
И про даты там ни слова...
https://msdn.microsoft.com/en-us/lib...ice.15%29.aspx
P.S. Но можно переписать на использование CreateObject("Scripting.FileSystemO bject")
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 19.08.2016 в 12:12.
Hugo121 вне форума Ответить с цитированием
Старый 19.08.2016, 13:26   #4
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
к сожалению, никакие атрибуты в команде DIR не позволят Вам это сделать.
Нужно менять алгоритм.

смотрите в сторону Microsoft Script Runtime + FSO (filesystemobject)

примеры:
http://www.exceltrick.com/formulas_m...object-in-vba/


здесь есть код, который Вам нужен:
https://social.msdn.microsoft.com/Fo...orum=accessdev

_
Cергей а получить имя файлов (в массиве) из команды операционной системы возможно ведь у команды Dir ОС эта функция реализована
Код:
DIR /O:D
Loshara вне форума Ответить с цитированием
Старый 19.08.2016, 13:37   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Cергей а получить имя файлов (в массиве) из команды операционной системы возможно ведь у команды Dir ОС эта функция реализована
в командной строке - можно. там команда DIR имеет множество параметров

в MS Excel - нельзя. Там функция DIR не имеет таких возможностей.

у команды DIR командного процессора и функции DIR в Excel между собой практически ничего общего не имеют (кроме названия )

а чем Вас не устроило использование FSO ? по моей второй ссылке готовый пример с сортировкой.

Последний раз редактировалось Serge_Bliznykov; 19.08.2016 в 13:39.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 19.08.2016, 14:27   #6
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в командной строке - можно. там команда DIR имеет множество параметров

в MS Excel - нельзя. Там функция DIR не имеет таких возможностей.

у команды DIR командного процессора и функции DIR в Excel между собой практически ничего общего не имеют (кроме названия )

а чем Вас не устроило использование FSO ? по моей второй ссылке готовый пример с сортировкой.
я просто еще этим не занимался и не могу ничего сказать как только попробую так и скажу
Loshara вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
команда dir Simbad JavaScript, Ajax 6 02.09.2012 16:43
Dir Recovery Кольша Софт 0 22.04.2012 11:33
не могу настроить DIR-300 julliz Компьютерное железо 2 05.06.2011 21:07
Странное поведение команды Dir viter.alex Microsoft Office Word 2 27.02.2010 09:48