Код ошибки: -2147023281, сообщение: «Сбой операции» в C # с использованием advancedSearch () - PullRequest
0 голосов
/ 20 октября 2018

Фон:

Я использую advancedSearch () для фильтрации моего почтового ящика.

Я использовал фильтр, как упомянуто в приведенной выше ссылке как:

string filterValue = "ticket";

string filter = "urn:schemas:mailheader:subject LIKE \'%" + filterValue + "%\'";

Однако, когда я пытаюсь сделать следующее:

DateTime startTime = new DateTime(2018, 9, 23, 16, 48, 0);

string filter = @"@SQL=(""urn:schemas:httpmail:date"" >= '" + startTime.ToString("g") + @"')";`

Это вызывает исключение, говорящее:«Эта операция не удалась».Код ошибки: -2147023281

screenshot

Что еще я пробовал (но все эти исключения исключения и не работает): -

        Outlook.PropertyAccessor pa = folder.PropertyAccessor;
        DateTime datStartUTC = pa.LocalTimeToUTC(Convert.ToDateTime("10/19/2018"));
        DateTime datEndUTC = pa.LocalTimeToUTC(Convert.ToDateTime("10/26/2018").AddDays(1));
        DateTime startTime = new DateTime(2018, 9, 23, 16, 48, 0);
        DateTime endTime = new DateTime(2018, 9, 26, 12, 00, 0);

        string filter = @"@SQL=((""urn:schemas:httpmail:datereceived"" >= '" + datStartUTC + @"' AND ""urn:schemas:httpmail:datereceived"" <='" + datEndUTC + @"' ))";
        string filter = @"@SQL =((""urn:schemas:httpmail:date"" >= '" + datStartUTC + @"' AND ""urn:schemas:httpmail:date"" <='" + datEndUTC + @"' ))";         
        string filter = ("http://schemas.microsoft.com/mapi/proptag/0x0E060040 >  /' startTime /' ");
        string filter = "[Start] >= '" + startTime.ToString("g") + "' AND [End] <= '" + endTime.ToString("g") + "'";
        string filter = "urn:schemas:httpmail:datereceived LIKE \'%" + pa.LocalTimeToUTC(DateTime.Now).ToString("g") + "%\'";
        string filter = "urn:schemas:httpmail:datereceived LIKE \'%" + pa.LocalTimeToUTC(DateTime.Now) + "%\'";
        string filter = "urn:schemas:httpmail:datereceived LIKE \'%" + (DateTime.Now - new TimeSpan(7, 0, 0, 0)).ToString("g") + "%\'";
        string filter = "urn:schemas:httpmail:datereceived"" <= '" + (DateTime.Now - new TimeSpan(7, 0, 0, 0)).ToString("g") + @"');
        string filter = "urn:schemas:httpmail:datereceived LIKE \'%" + startTime + "%\'";
        string filter = @"@SQL=(""urn:schemas:httpmail:datereceived"" >= '" + (DateTime.Now - new TimeSpan(7, 0, 0, 0)) + @"')";

сообщение об исключении:

операция не удалась

или

что-то пошло не так, попробуйте еще раз

1 Ответ

0 голосов
/ 04 июля 2019

Я обнаружил эту ссылку в Microsoft Docs.В моем случае проблема заключалась в папке с одинарной кавычкой, которая не была должным образом экранирована.Так как эта папка использовалась в свойстве Scope метода AdvacedSearch, она выдавала исключение.Возможно, это поможет вам найти то, чего не хватает в вашем коде.

...