指定されたディレクトリをループして、ダウンロードした最新のcsvファイルを見つけようとしています。何らかの理由で、ファイルが存在していても、Dir関数はファイルを見つけられません。私はVBAに完全に精通していないので、Dir関数を実行するための何らかの参照が欠落している可能性がありますが、オンラインで必要なことを示すものが見つかりません。すべての例とフォーラムは、私と同じようにDirを使用していますが、私を機能させることはできません。これがコードです。私が間違っていることがわかるかどうか教えてください。
Public Function Get_File() as string
Dim filePath As String
ChDir ("..")
filePath = CurDir
'Goes back to Documents directory to be in same directory as macro
ChDir (filePath & "\Documents")
filePath = filePath & "\Downloads\test.txt"
filePath = getLatestFile(filePath)
Get_File = filePath
End Function
Public Function getLatestFile(pathToFile As String) As String
Dim StrFile As String
Dim lastMod As Variant
Dim nextMod As Variant
Dim lastFileName As String
StrFile = Dir(pathToFile)
lastFileName = StrFile
lastMod = FileDateTime(StrFile)
While Len(StrFile) > 0
Debug.Print StrFile
StrFile = Dir
nextMod = FileDateTime(StrFile)
If nextMod > lastMod Then
lastFileName = StrFile
lastMod = nextMod
End If
Wend
getLatestFile = lastFileName
End Function
test.txtファイルはダウンロードファイルにあり、filePath文字列が正しいパスとして出力されますが、ファイルが見つからないというエラーが表示され続けます。Dir(pathToFile)を最初に使用すると失敗します。どんな助けでも大歓迎です。