質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

2回答

8418閲覧

Dir関数の呼び出しでタイムスタンプの昇順にSortしたい

MiktS

総合スコア10

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

1クリップ

投稿2019/02/18 05:05

編集2019/02/28 07:43

下記コードを使用してフォルダ内のファイルを順に処理しようとしているのですが、
ディスクのフォーマットがNTFSのためファイル名の昇順でファイル名が返ってきます。
これをタイムスタンプの昇順に返す方法はありませんでしょうか。

vba

1Const Path As String = "Path" 2Dim File As String 3File = Dir(Path & "*.xls") 4 5For i = 1 To 1000 6処理 7File=() 8Next

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Dir関数では流石に限界ありますね。
FileSystemObjectを使うとファイルの作成日などの情報を取得できますよ。

投稿2019/02/18 05:39

stdio

総合スコア3307

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MiktS

2019/02/18 07:13

ご回答ありがとうございます。 参考にしてコードを書いてみようと思います。
stdio

2019/02/18 07:31

この方法でも、ttyp03さんの方法でも、結局はソートいるのだけどね... その時はご自身で実装して下さいね。
guest

0

Dir関数自体にはそのような機能はありませんので、他の関数と組み合わせる必要があります。
FileDateTime関数で更新日付が取得できます。
Dir関数でファイル名を取得したら、一緒に更新日付も取得して、配列か何かに格納。
全て取得完了後に更新日付でソートする。
こんな感じの処理になると思います。

余談ですが「マッチング」という言葉は「照合」とか「突合せ」の意味なので、今回のような場合には使いません。

投稿2019/02/18 06:05

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

MiktS

2019/02/18 07:12

ご回答とご指摘ありがとうございます。 あまりvbaを使いこなせていないので上手くできるかわかりませんが、ご助言に沿って一旦自力でやってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問