私は改善を図っているプロジェクトで少し助けを求めています。私はファイルパスとファイル名のブック内の2つのセルを使用してcsvファイル(約13000ファイルのフォルダから)の最新の日付を取得するために使用している関数を持っています。それは素晴らしい作品と私は非常に迅速に探しているファイルを見つけることができます。excel vbaを使用してCSVで特定のデータを確認する
このツールを改善するには、csvを調べて、いくつかの数値がブック内の別のセルと一致することを確認する必要があります。私はどのようにプログラムを見て、どのようにマッチをチェックするかをプログラムに伝える方法がわかりません。数字は毎回同じ場所にあり、ブックのセルとまったく同じ形式になります。 csvはカンマも使用しません(問題がある場合)。たとえば、数字は6番目の列と2番目の行に配置されます。私は最新の日付を返す前に私のA5セルの値でそれを確認したい。一致しない場合は、直近の次の日付を確認したいなどです。現在使用している関数:
Function ReportTime(ByVal sESN As String, ByVal sFolder As String)
Dim FileName As String
Dim MostRecentFile As String
Dim MostRecentDate As Date
Dim oFSO As FileSystemObject
If Right(sFolder, 1) <> "\" Then sFolder = sFolder & "\"
Set oFSO = CreateObject("Scripting.FileSystemObject")
If oFSO.FolderExists(sFolder) Then
FileName = Dir(sFolder & sESN & "*hdr.txt", 0)
If FileName <> "" Then
MostRecentFile = FileName
MostRecentDate = FileDateTime(sFolder & FileName)
Do While FileName <> ""
If FileDateTime(sFolder & FileName) > MostRecentDate Then
MostRecentFile = FileName
MostRecentDate = FileDateTime(sFolder & FileName)
End If
FileName = Dir
DoEvents
Loop
End If
Else
MostRecentFile = "Err: folder not found."
End If
Set oFSO = Nothing
ReportTime = MostRecentDate
End Function
"csvはカンマを使用しません" - もう少し詳しく説明する必要があります。カンマではない場合は何を使用しますか? –
申し訳ありませんが、単なるテキストファイルです。私は今、どのように馬鹿だと思いますか? – Mblankfield
CSVファイルは必ずしもカンマを使用する必要はありません。別のデリミタ(例えば、/または|または〜)を使用することができます。多くのプログラムでは、カンマで区切られた値でなくても、同じ方法で解釈できます。少なくとも、あなたはそれをどのように解釈するかをVBAに指示することができます。私は自分のアプリケーションでこれを行う必要がありました。 – SandPiper