pouvez-vous m'aider à rédiger une demande correcte pour MAPI / SQL dans VBA / VBS?
J'ai besoin de rechercher un e-mail de l'expéditeur avec un astérisque, c'est-à-dire Joseph.The.First@hismail.com -> used filter *The*@hismail.com
J'ai été inspiré par le code de ce que j'ai trouvé sur Microsoft ou ici sur Stackflow
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from LIKE" & " = *The*"
Cet exemple ci-dessus fonctionne pour les e-mails dont le sujet contient un croquis. Ensuite, j'ai modifié le schéma URN en -> urn:schemas:httpmail:sentitems
Et le code final est
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%sketch%'"
Ne fonctionne pas, rien trouvé dans le dossier de boîte aux lettres actuel.
3 Réponses :
Il s'agit d'une requête non valide: il vous manque des guillemets simples autour de la valeur et vous utilisez également LIKE
et =
en même temps. Essayer
@SQL="urn:schemas:httpmail:from" LIKE '*The*'
Merci. La requête SQL fonctionne généralement en VBA, mais quelque chose ne va pas uniquement dans la syntaxe "from". Remarque. J'ai testé des e-mails avec l'objet et l'expéditeur (de) dans des dossiers de messagerie. Donc, la syntaxe correcte devrait trouver.
1) Comme exemple de travail , je l'utilise pour la recherche par sujet de l'e-mail
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:sender" & Chr(34) & " like '*The*'"
2) Comme exemple non fonctionnel , j'utilise ceci pour rechercher par expéditeur d'e-mail Cette syntaxe VBA acceptée mais trouve 0 e-mails.
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from" & Chr(34) & " like '*The*'"
ou
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:from" & Chr(34) & " like '%The%'"
ou
strFilter = "@SQL=" & Chr(34) & "urn:schemas:httpmail:subject" & Chr(34) & " like '%TestSubject%'"
Essaye ça...
Filter = "@SQL=urn:schemas:httpmail:fromemail Like '%joe%'"
Alternativement ...
Filter = "@SQL=urn:schemas:httpmail:fromemail Like '%joe@someaddr.com%'"
Cela a fonctionné pour moi.