• 締切済み

Excelのマクロを教えてください!!

転記するマクロを探していた所、下記の質問を見つけました。 https://okwave.jp/qa/q9554919.html また、watabe007さんの良い回答があった為、下記を参考にさせていただきました。 https://okwave.jp/qa/q9554919/a26683580.html ただ、同じファイル名が複数存在した時に古いファイルのみ転記されるようでした。 (例えば1.csvが3個ある場合、更新日時の古いファイルが転記されてました。) そこで質問ですが、同じファイル名が複数存在した時に1番新しいファイルのみ転記する事は可能でしょうか? 急な質問、大変申し訳ありませんがご教授お願いできないでしょうか?

みんなの回答

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

sglkjakslgasさん、こんにちは セルの位置、csvが置かれているパス、どのように処理したいのか等 詳しく、教えてもらえませんか。

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

DateLastModified プロパティの使用例 マイドキュメント内での最も新しいファイル Sub Test()   Dim FSO As Object, f As Object   Dim myPath As String   Dim Latestdate As Date   Dim Filename As String   myPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")   Set FSO = CreateObject("Scripting.FileSystemObject")   For Each f In FSO.GetFolder(myPath).Files     If Latestdate < f.DateLastModified Then       Latestdate = f.DateLastModified       Filename = f.Name     End If   Next   MsgBox "最新のファイルは" & vbCrLf & Filename & vbCrLf & Latestdate End Sub 最も古いファイル Sub Test2()   Dim FSO As Object, f As Object   Dim myPath As String   Dim Latestdate As Date   Dim Filename As String   Latestdate = Now()   myPath = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")   Set FSO = CreateObject("Scripting.FileSystemObject")   For Each f In FSO.GetFolder(myPath).Files     If Latestdate > f.DateLastModified Then       Latestdate = f.DateLastModified       Filename = f.Name     End If   Next   MsgBox "最も古いファイルは" & vbCrLf & Filename & vbCrLf & Latestdate End Sub

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.1

DateLastModified プロパティでファイルの更新日時を取得できるので 比べて新しい更新日時のファイルパスを変数に残していけば良いでしょう

sglkjakslgas
質問者

補足

大変申し訳ないですが、まだVBA始めたばかりで初歩的な事を理解できていないです。ソースコードを記載して頂くことは可能ですか?本当にごめんなさい。。