Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/35: Рейтинг темы: голосов - 35, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 23

Открытие первого или последнего файла в папке

07.03.2013, 11:32. Показов 6892. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Как открыть первый (либо последний) файл (с расширением .doc) в папке, если имя файла не известно. Другой вариант открывать файл, который изменен раньше остальных файлов. Путь к файлам известен.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2013, 11:32
Ответы с готовыми решениями:

Открытие файла в той же папке что и книга
Workbooks.OpenText Filename:='D:Lumexsplumprosecv_tab.txt', Origin:=866 _ , StartRow:=1, DataType:=xlFixedWidth,...

Поиск первого символа справа или последнего слева
Всем здрасти! Короткий вопрос, как найти первый символ в тексте, но справа. Или последний слева. Спасибо!

Получить дату изменения последнего изменённого файла в папке на FTP-сервере или отсортировать файлы по дате
Есть сервер с папкой где лежат файлы. Нужно, либо получи дату изменения последнего измененного файла, либо отсортировать их в папке на...

10
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,701
Записей в блоге: 14
07.03.2013, 11:54
Первый/последний в физическом порядке следования в директории?

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
      fd$=Dir$(Путь+"\*.doc",vbNormal)
 
      if fd$ <> "" then Documents.open(Путь+"\"+fd$) ' первый
 
      pF$=fd$
 
      Do
 
        cF$=Dir$()
 
        if cF$="" then exit Do
 
        pF$=cF$
 
      Loop
 
      Documents.open(Путь+"\"+pF$) ' последний
1
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 23
07.03.2013, 12:16  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
Первый/последний в физическом порядке следования в директории?
Файлы находятся в одной директории и отсортированы по дате измениния
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,701
Записей в блоге: 14
07.03.2013, 13:05
Цитата Сообщение от Seem Посмотреть сообщение
Файлы находятся в одной директории и отсортированы по дате измениния
- как это - в директории отсортированы? Физический порядок следования файлов не регламентирован. Как ОС удобно, так и кладет... А вот если тебе нужно их сортировать (по дате создания, например), то надо залить список файлов в массив - и отсортировать в нужном порядке самому.
2
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 23
13.03.2013, 10:05  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
- как это - в директории отсортированы? Физический порядок следования файлов не регламентирован. Как ОС удобно, так и кладет... А вот если тебе нужно их сортировать (по дате создания, например), то надо залить список файлов в массив - и отсортировать в нужном порядке самому.
Спасибо, принял к сведению. Но тут возникает другой вопрос возможно ли в массиве отсортировать список файлов по дате создание? (я просто только начал изучать VBA) В массив загружать список имен файлов или сами файлы (если такое вообще возможно)?
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
13.03.2013, 11:13
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
option compare text
Sub GetFileDate()
Dim FSO As Object 'As New FileSystemObject
Dim Dir As Object 'Scripting.Folder
Dim File As Object 'Scripting.File
Set FSO = CreateObject("Scripting.FileSystemObject")
Set Dir = FSO.GetFolder("Ё:\Путь\Кпапке\Сфайлами\")
For Each File In Dir.Files
  With File
    If .Name Like "*.doc" Then
      'анализируйте полученные даты, запоминайте минимальную и(ли) максимальную вместе с именем - как-то так?
      Debug.Print .Name, .DateCreated, .DateLastModified, .DateLastAccessed
    End If
  End With
Next
End Sub
1
0 / 0 / 0
Регистрация: 20.02.2013
Сообщений: 23
13.03.2013, 11:46  [ТС]
Апострофф, огромное Вам спасибо! Все отлично работает. Так же если не трудно подскажите источник информации по которому вы изучали VBA.
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
13.03.2013, 11:54
Цитата Сообщение от Seem Посмотреть сообщение
подскажите источник информации
F1 + ГУГЛ + https://www.cyberforum.ru/vba/ + Учебники, справочники, самоучители
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,701
Записей в блоге: 14
13.03.2013, 11:55
Вот сортировка по дате:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Sub mkFlist(cDir As String)
 
Dim Fnames(1 To 1000) As String
Dim Fdates(1 To 1000) As Date
Dim dtemp             As Date
 
    '::: Загрузка
 
    cF$ = Dir$(cDir$ + "\*.*", vbNormal)
    
    Do
    
      If cF$ = "" Then Exit Do
       
      ptrF% = ptrF% + 1
      
      Fnames(ptrF%) = cF$
      Fdates(ptrF%) = FileDateTime(cDir$ + "\" + cF$)
 
      cF$ = Dir$()
      
    Loop
    
    '::: Сортировка по дате
    
    For i% = 1 To ptrF% - 1
        For j% = i% + 1 To ptrF%
            If Fdates(j%) < Fdates(i%) Then
               dtemp = Fdates(j%)
               Fdates(j%) = Fdates(i%)
               Fdates(i%) = dtemp
               Tmp$ = Fnames(j%)
               Fnames(j%) = Fnames(i%)
               Fnames(i%) = Tmp$
             End If
        Next j%
    Next i%
 
    '::: Печать
    
    For i% = 1 To ptrF%
        Debug.Print Fnames(i%); " "; Fdates(i%)
    Next i%
 
End Sub
 
Sub test()
 
    mkFlist "D:\OFF_VBA\Задачи\Общие"
 
End Sub
2
13.03.2013, 19:48

Не по теме:

Catstail, зачем нужен массив + сортировка, если нужен один (пусть самый-самый) файл?

И FileDateTime - это скорее не дата создания (как просил ТС), а дата последнего изменения файла:scratch:

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38171 / 21106 / 4307
Регистрация: 12.02.2012
Сообщений: 34,701
Записей в блоге: 14
13.03.2013, 20:55
Да, Ваша правда... Ну, может кому-нибудь понадобится сортировать файлы по дате модификации...
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.03.2013, 20:55
Помогаю со студенческими работами здесь

Как в Командной строке получить дату последнего изменения файла или последнего доступа к нему?
суть такова, у меня есть список фаилов с полным адресом типо C:\sad\asds\dich.obj. требуется команда в cmd которая выводит чисто дату. ...

Загрузка на FTP-сервер последнего созданного в папке файла
Есть скрипт который копирует на ftp последний созданный файл в папке. Но вылетает ошибка при заливке файла: Exception calling...

Как определить имя последнего по времени файла в папке?
Всем здравствуйте. Файлы в папке имеют одинаковую структуру yymmdd.ved (yymmdd - это дата). Например, 170125.ved. Если в проводнике...

Открытие файла который лежит в папке с exe
Всем привет, рыскал на просторе интернета, так и не нашёл, так что решил написать сюда. Есть файл проекта EXE, а вместе с этим файлом...

Открытие файла в папке с программой без указания полного пути
Есть такая строчка z = Shell(&quot;C:\WINDOWS\Notepad.exe D:\vb\проверка знаний\all.txt&quot;) Т.е с помощью блокнота открывает файл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru