2017-10-17 85 views
-1

下面的代码对名称为“2017-10-16”但没有“M”的文件夹执行“Then”语句,即使代码看起来像要求它既有“M”也有日期。有谁知道为什么声明的第一部分为没有“M”的文件夹返回true,或者可能会在这里发生什么?Excel VBA“Like”没有选择“* M *”

If _ 
     objSubFolder.Path Like "*M*" And _ 
     objSubFolder.Path Like "*" & Format(DateLoop, "yyyy-mm-dd") & "*" _ 
    Then 
     MsgBox objSubFolder.Name 
+1

您能否提供一个不包含M且仍然返回True的Path示例的字符串? – danieltakeshi

+0

啊。感谢您打开灯。我知道你在做什么,我正在调试路径名,它肯定有一个M。我首先需要解析路径中的文件夹名称,然后测试M. – user4333011

+0

如果您发布类似于该答案的答案,我会投票选出答案作为答案。 – user4333011

回答

1

我使用的是.Path方法,而不是.Name方法,所以我拉动了整个路径而不是文件夹名。

If _ 
    objSubFolder.Name Like "*M*" And _ 
    objSubFolder.Name Like "*" & Format(DateLoop, "yyyy-mm-dd") & "*" _ 
Then 
    MsgBox objSubFolder.Name 

工程。