マクロの概要
ダウンロード
フォルダ内の 「勤務実績.CSV」 または「勤務実績(1).CSV」などの最新ファイル を特定する。- そのファイルのパスを取得し、Excelにデータを取り込む。
マクロの動作
ダウンロード
フォルダ内の 「勤務実績.CSV」 または「勤務実績(1).CSV」などの最新ファイル を特定する。- そのファイルのパスを取得し、Excelにデータを取り込む。
Sub ImportLatestCSV() Dim dlPath As String Dim fileName As String Dim latestFile As String Dim latestDate As Date Dim fso As Object Dim file As Object Dim ws As Worksheet
‘ ダウンロードフォルダのパスを取得(Windows用) dlPath = Environ(“USERPROFILE”) & “\Downloads\” ‘ ファイルシステムオブジェクトを作成 Set fso = CreateObject(“Scripting.FileSystemObject”) ‘ ダウンロードフォルダの中の最新の「勤務実績.CSV」ファイルを探す latestFile = “” latestDate = #1/1/2000# ‘ 初期化(過去の日付) ‘ ダウンロードフォルダ内のファイルをループ For Each file In fso.GetFolder(dlPath).Files fileName = file.Name ‘ “勤務実績” で始まり、”.CSV” で終わるファイルを探す If fileName Like “勤務実績(*).CSV” Or fileName = “勤務実績.CSV” Then ‘ 更新日時が最新のものを選択 If file.DateLastModified > latestDate Then latestDate = file.DateLastModified latestFile = file.Path End If End If Next file ‘ 最新ファイルが見つからなかった場合の処理 If latestFile = “” Then MsgBox “勤務実績.CSVファイルが見つかりません。”, vbExclamation, “エラー” Exit Sub End If ‘ シートを選択(データを取り込むシート名を指定) Set ws = ThisWorkbook.Sheets(“Sheet1″) ‘ 取り込み先のシート名を変更可 ws.Cells.Clear ‘ 既存データをクリア ‘ CSVデータをインポート With ws.QueryTables.Add(Connection:=”TEXT;” & latestFile, Destination:=ws.Range(“A1”)) .TextFileConsecutiveDelimiter = False .TextFileTabDelimiter = False .TextFileSemicolonDelimiter = False .TextFileCommaDelimiter = True .TextFilePlatform = xlWindows .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileColumnDataTypes = Array(1) ‘ すべてのデータをテキスト形式で取得 .Refresh End With ‘ 取り込み完了メッセージ MsgBox “最新の勤務実績.CSVを取り込みました!”, vbInformation, “完了” End Sub
マクロの動作説明
- ダウンロードフォルダのパスを取得
Environ("USERPROFILE") & "\Downloads\"
を使用してユーザーのダウンロードフォルダを取得します。
- ダウンロードフォルダ内の最新の「勤務実績.CSV」を探す
Like "勤務実績(*).CSV"
を利用して、「勤務実績.CSV」「勤務実績(1).CSV」「勤務実績(2).CSV」などを探します。DateLastModified
を比較して最新のファイルを特定します。
- Excelにデータをインポートする
QueryTables.Add
を使用し、CSVデータを 「Sheet1」 の A1 から取り込みます。- 既存データは
.Cells.Clear
でクリアします。
- メッセージボックスで完了を通知
MsgBox
を使用して、成功メッセージを表示します。
💡 DateLastModified
と DateCreated
の違い
プロパティ | 意味 | 信頼性 |
---|---|---|
DateLastModified |
最後に内容が変更された時 | 編集で変わる |
DateCreated |
ファイルが生成された時刻 | ダウンロード時刻 |
コメント