Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3477 / 76735 ←次へ | 前へ→

【78888】Re:ファイルを更新順に読み込む方法
回答  ウッシ  - 17/2/20(月) 14:57 -

引用なし
パスワード
   こんにちは

Sub test()
  Dim objF  As Object
  Dim objA  As Object
  Dim fPath As String
  Dim oFile As Object
  
  Set objF = CreateObject("Scripting.FileSystemObject")
  Set objA = CreateObject("ADODB.Recordset")
  objA.Fields.Append "FileName", 200, 300, 32 ', adVarChar, MaxCharacters, adFldIsNullable
  objA.Fields.Append "ModifiedDate", 200, 300, 32
  objA.Open
  fPath = ThisWorkbook.Path
  For Each oFile In objF.GetFolder(fPath).Files
    If oFile Like "*.csv" Then
      objA.AddNew
      objA.Fields(0) = oFile
      objA.Fields(1) = oFile.DateLastModified
      objA.Update
    End If
  Next
  objA.Sort = "ModifiedDate ASC" '昇順
  objA.MoveFirst
  Do Until objA.EOF
    '処理Start
    Debug.Print objA.Fields(1).Value & "----" & objA.Fields(0).Value
    '処理End
    objA.MoveNext
  Loop
  objA.Close
  Set objA = Nothing
  Set objF = Nothing
End Sub

一旦読み込ん並べて処理する感じです。


▼もりC さん:
>特定のフォルダ内にある.csvファイルをファイルが更新した順に
>読み込んでいく方法がわかりません。
>
>ファイルを読むには
>   pathname = ThisWorkbook.Path
>   fname = Dir(pathname & "\*.csv", vbNormal)
>
>などと記述していましたが、これでは名前順でしか対応できません。
>
>どなたかよい方法をご存知でしたら、ご教授ください。

2 hits

【78887】ファイルを更新順に読み込む方法 もりC 17/2/20(月) 13:32 質問[未読]
【78888】Re:ファイルを更新順に読み込む方法 ウッシ 17/2/20(月) 14:57 回答[未読]
【78889】Re:ファイルを更新順に読み込む方法 もりC 17/2/20(月) 17:58 質問[未読]
【78890】Re:ファイルを更新順に読み込む方法 β 17/2/20(月) 21:22 発言[未読]
【78920】Re:ファイルを更新順に読み込む方法 もりC 17/2/23(木) 17:49 お礼[未読]

3477 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free