[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ファイル名取得を、時間の順番で取得したい』(荒川)
Sub ファイル一覧取得()
Dim buf As String, cnt As Long Dim fp As String
cnt = 5 fp = ThisWorkbook.Path & "\" 'ファイルの拡張子を変更することで他のファイルの取得可能 buf = Dir(fp & "*.jpg") 'PDFファイルを、取得したい時には「jpg」を「pdf」へ変更 Do While buf <> "" cnt = cnt + 1 Cells(cnt, 1) = buf buf = Dir() Loop End Sub
ファイル名取得のマクロなのですが、ファイル名で並べ替えが自動で
行われて取得されます。
保存の時間の順番で、取得することは可能でしょうか?
もしくは、フォルダ内に入っている順番での書きだしか・・・。
< 使用 Excel:Excel2016、使用 OS:Windows8 >
保存の時間の順番って、作成順でしょうか? 一度自分で確認してみた方が・・・。 (BJ) 2018/12/02(日) 15:32
ああ、一度確認されているのか・・・。 (BJ) 2018/12/02(日) 15:42
FileSystemObjectについて調べてみましょう。
http://officetanaka.net/excel/vba/filesystemobject/index.htm
http://officetanaka.net/excel/vba/filesystemobject/file02.htm
(もこな2) 2018/12/02(日) 16:01
Win7か、EXL2007からなのか、Dir関数の仕様が変ったみたい。 以前はアロケーションブロックに登録されている順だったような・・・。 (BJ) 2018/12/02(日) 16:30
ここでは、Mookさんとか、???さんがよく使っている手法です。
Sub test() Dim p As String Dim s
p = ThisWorkbook.Path & "\"
s = Split(CreateObject("wscript.shell").exec("cmd /c dir /b/o-d """ & p & "*.jpg""").stdout.readall, vbCrLf) Cells(1).Resize(UBound(s) + 1).Value = Application.Transpose(s)
End Sub
(マナ) 2018/12/02(日) 19:53
Sub test() Dim buf As String Dim fp As String Dim i As Long
fp = ThisWorkbook.Path & "\"
With CreateObject("System.Collections.ArrayList") buf = Dir(fp & "*.jpg") Do While buf <> "" .Add Format(FileDateTime(fp & buf), "YYYYMMDDHHNNSS") & buf buf = Dir() Loop .Sort
For i = 0 To .Count - 1 Cells(i + 6, 1) = Mid(.Item(i), 15) Next i End With End Sub (???) 2018/12/03(月) 09:15
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.