【发布时间】:2019-03-01 08:54:18
【问题描述】:
背景:
目前我正在 VSTO 加载项的电子邮件主题中搜索一个单词。我的语法是:
string filter = "urn:schemas:mailheader:subject LIKE \'%" + wordInSubject + "%\'";
甚至以下语法也有效:
string filter = String.Format("\"urn:schemas:mailheader:subject\" >= '{0}'", "ticket");
string filter = String.Format("@SQL=(\"urn:schemas:calendar:dtstart\" >= '{0:g}' " + "AND \"urn:schemas:calendar:dtend\" <= '{1:g}' " + "AND \"urn:schemas:mailheader:subject\" LIKE '%{2}%')", startTime, endTime, wordInSubject);
但是,我还想包括日期时间比较,其中邮件在时间范围之间。
研究链接:
我尝试了以下方法,但它们不起作用:
string filter = ("urn:schemas:mailheader:subject LIKE \'%" + wordInSubject + "%\'") + ("[Start] >= '" + startTime.ToString("g") + "' + [End] <= '" + endTime.ToString("g") + "'");
string filter = ("urn:schemas:mailheader:subject LIKE \'%" + wordInSubject + "%\'") AND ("[Start] >= '" + startTime.ToString("g") + "' AND [End] <= '" + endTime.ToString("g") + "'");
另外,在搜索时,我读到它应该以“@SQL=”为前缀 - 但是,即使这种情况也会引发错误:-
string filter = "@SQL=""urn:schemas:mailheader:subject LIKE \'%" + wordInSubject + "%\'"
问题陈述:-
我不是在寻找专门的 DateTime 案例。但是,我可以只使用在单个过滤字符串(任何类型的条件)中使用多个条件的语法。
【问题讨论】:
标签: c# outlook vsto outlook-addin add-in