- 締切済み
Excelのマクロを教えてください!!
転記するマクロを探していた所、下記の質問を見つけました。 https://okwave.jp/qa/q9554919.html また、watabe007さんの良い回答があった為、下記を参考にさせていただきました。 https://okwave.jp/qa/q9554919/a26683580.html ただ、同じファイル名が複数存在した時に古いファイルのみ転記されるようでした。 (例えば1.csvが3個ある場合、更新日時の古いファイルが転記されてました。) そこで質問ですが、同じファイル名が複数存在した時に1番新しいファイルのみ転記する事は可能でしょうか? 急な質問、大変申し訳ありませんがご教授お願いできないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- watabe007
- ベストアンサー率62% (476/760)
sglkjakslgasさん、こんにちは セルの位置、csvが置かれているパス、どのように処理したいのか等 詳しく、教えてもらえませんか。
- watabe007
- ベストアンサー率62% (476/760)
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)
DateLastModified プロパティでファイルの更新日時を取得できるので 比べて新しい更新日時のファイルパスを変数に残していけば良いでしょう
補足
大変申し訳ないですが、まだVBA始めたばかりで初歩的な事を理解できていないです。ソースコードを記載して頂くことは可能ですか?本当にごめんなさい。。