繁体   English   中英

Excel 2010 VBA中的目录功能不起作用

[英]Dir Function in Excel 2010 VBA not working

我试图遍历给定目录以找到最新下载的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)时失败。 任何帮助将不胜感激。

Dir()仅返回路径的文件名部分,即不返回文件夹部分。 例如,

Dir("C:\MyPath\MyFile.txt")

返回MyFile.txt而不是C:\\MyPath\\MyFile.txt

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM