2017-10-17 4 views
-1

Le code suivant exécute l'instruction "Then" pour un dossier portant le nom "2017-10-16" sans "M", même si le code semble pour exiger que tous les deux aient un "M" et une date aussi bien. Est-ce que quelqu'un sait pourquoi la première partie de la déclaration retourne vrai pour un dossier sans un «M», ou quoi d'autre peut se passer ici?Excel VBA "Like" non Sélection pour "* M *"

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

Pourriez-vous fournir la chaîne d'un exemple de chemin qui ne contient pas M et renvoie toujours True? – danieltakeshi

+0

Ah. Merci d'avoir allumé la lumière. Je sais ce que vous obtenez, je débogue pour le nom du chemin et il y a certainement un M dedans. Je dois d'abord analyser le nom du dossier à partir du chemin, puis tester le M. – user4333011

+0

Si vous postez quelque chose qui ressemble à une réponse, je vais voter pour la réponse. – user4333011

Répondre

1

j'utilisais la méthode .Path au lieu de la méthode .Nom, donc je tirais le chemin complet au lieu du nom du dossier.

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

Travaux.