|
前スレの 指定フォルダ内の最新のCSVファイルを見つけるコードと
今回の 最終行の最終列データだけ取得する コードを合成すると
こんな感じです。
適当にアレンジしてください。
Sub Try2()
'-------------------------- Sub Try1() -----------------------
Const myPath = "D:\(Data)\" '検索フォルダ(最後は \)要変更
Dim myFile As String
Dim LastFile As String
Dim fDate As Date, LastDate As Date
myFile = Dir$(myPath & "*.csv")
Do While Len(myFile)
fDate = FileDateTime(myPath & myFile)
If LastDate < fDate Then
LastDate = fDate
LastFile = myFile
End If
myFile = Dir$()
Loop
If MsgBox("最新のCSVファイルは" & vbCr _
& LastFile & vbTab & LastDate & vbCr _
& "です" & vbCr _
& "ファイルから最終行、最終列データを読み取りますか?", _
vbOKCancel) = vbCancel Then Exit Sub
'---------------------------------------------------------------
'最終行の最終列の値だけをシートに書き出す
Dim io As Integer
Dim buf() As Byte
Dim j As Long
Dim v
Dim data
'ファイルを開く
io = FreeFile()
Open myPath & LastFile For Binary As io
ReDim buf(1 To LOF(io))
Get #io, , buf
Close io
v = Split(StrConv(buf, vbUnicode), vbCrLf)
data = v(UBound(v) - 1)
j = InStrRev(data, ",")
data = Mid$(data, j + 1)
Worksheets("Sheet1").Range("A1").Value = data
MsgBox data & " を[A1]に代入しました"
End Sub
|
|