Len()作为Dir()的参数

所以我正在循环一个文件夹,并设置了一些参数来过滤循环。 我试图这样做的文件长度,但我得到一个运行时错误13types不匹配。 猜测有没有办法使用文件长度作为Dir()的参数? 什么是一个好的解决方法?

 path = subF & "\" extension = "*.xlsm" partialName = "C*" file = Dir(path & partialName & Len(file) = 13 & extension) '<- error 

我可以

 length = Len(file) If length = 13 Then 

在循环内部,但没有细节,我需要在循环之外这样做。

这或这是帮助。 所以似乎只与python不讨论文件长度讨论:/

你想要的文件名总共有13个字符,包括一个句点和一个四个字母的文件扩展名,所以你真的想要长度为8个字符的文件名,并以C开头。你当前使用的文件掩码包含星号任何数量字符的通配符。 在C之后切换到七(7)个问号,您应该过滤您的Dir函数以获取长度为八个字符的文件名,以C文件扩展名为.xlsm开头。

 path = subF & "\" extension = ".xlsm" partialName = "C???????" file = Dir(path & partialName & extension) '\C???????.xlsm 

删除*通配符并使用'?' 通配符代替:

 path = subF & "\" partialName = "C" extension = ".xlsm" file = Dir(path & partialName & String(7, "?") & extension) 

如果你想在“C”和“.xlsm”之间使用13个字符,可以使用string(13, "?")

编辑回应评论:

最小化variables –

 path = subF & "\C" & String(7, "?") & ".xlsm" file = Dir(path) 

要么

 file = Dir(subF & "\C???????.xlsm")