/ / Excel vba Items.restrict 2 betingelser - excel, vba, excel-vba, outlook

Excel vba Items.restrict 2 betingelser - excel, vba, excel-vba, outlook

Jeg har brug for hjælp til, hvordan man sætter dette i en begrænsningssyntax. den oprindelige begrænsning fungerer:

Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>"" & Format(Date - daysAgo, "DDDDD HH:NN") & """)

Nu blev jeg fortalt at det er muligt at sætte 2 filter i en begrænsning, så jeg prøvede:

Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>"" & Format(Date - daysAgo, "DDDDD HH:NN") & "" And Not [Subject] like "%Undeliverable%"")

Jeg prøvede koden ovenfor, men jeg får en fejl"Tilstanden er ikke gyldig". Faktisk filtrerer betingelse 1 e-mails baseret på datoen den blev modtaget, som virker alene. Den anden betingelse, som jeg har brug for, er at sørge for, at sløjfen ignorerer e-mails, der har "Kan ikke leveres" i emnelinjen. Hjælp venligst, hvordan du sætter den korrekte syntaks.

svar:

0 for svar № 1

At besvare det spørgsmål, du stillede, snarere end det spørgsmål, du vil have besvaret.

To begrænsninger kan påføres ene efter hinanden, men begge skal arbejde. I dette tilfælde ser det ud til, at filteret Ikke-emne ikke er muligt.

Du kan først filtrere emnerne i mappen, hvisDet er muligt, med en Ikke-version af dette filter "@ SQL =" & Chr (34) & "urn: skemaer: httpmail: subject" & Chr (34) & "like"% Undeliverable% "" som beskrevet i kommentarerne . https://stackoverflow.com/a/27350173/1571407

Set myTasks = Fldr.Items.Restrict(Not .... "%Undeliverable%"")

For det andet, filtrer Mytasks, ikke Fldr:

Set myTasks = myTasks.Restrict("[ReceivedTime]>"" & Format(Date - daysAgo, "DDDDD HH:NN") & """)

Beslægtede spørgsmål


Kommentarer (0)

Tilføj en kommentar