Dir函数没有find文件,即使在将path粘贴为参数之后
我已经尝试使用一个相当复杂的连接string来使Dir()函数工作一段时间,如下所示:
Dim Path as String Path = Dir("PathToSubfolder\" & Year(Date) & "\" & MonthName(Month(Date)) & _ "\Production " & MonthName(Month(Date)) & "*.xlsx") MsgBox Path
消息框什么都不打印(这只是一个空白的消息框)。 在试图找出我是否错误地input了path之后,我打开了正确的文件,并从选项中拷贝了它的实际path,然后执行: Path = Dir("PathToSubFolder\2016\June\Production June 2016.xlsx")
,即没有任何串联或任何东西,只是实际的文件path和名称。 但是,打印MsgBox Path
再次没有返回(NULL)。
有没有人有任何线索为什么这不会工作? 从相同的工作手册(尽pipe不是来自同一个模块),我已经非常广泛地使用了Dir,没有任何问题。
编辑:最后find一个解决方法。 我只是用文件pathtoFile
的path做了一个variables,然后:
Dim pathtoFile As String pathtoFile = "C:\Path.to.file\" Path = Dir(pathtoFile & "*" & MonthName(Month(Date)) & "*")
Month(Date)
将返回一个数字,而不是一个名字。 所以你传递下面的论点:
PathToSubFolder \ 2016 \ 6 \ Production 6 2016.xlsx
这不存在,因此你得到一个空string返回。
尝试
Dim Path as String Path = Dir("PathToSubfolder\" & Year(Date) & "\" & MonthName(Month(Date)) & _ "\Production " & MonthName(Month(Date)) & "*.xlsx") MsgBox Path
MonthName()
方法使用1到12之间的数字,并返回该月份的名称,这是您所需的string。