在格雷格·撒切尔(Greg Thatcher)对How to retrieve Outlook inbox emails using R RDCOMClient?的回答之后,我编写了一些代码来搜索我的收件箱,并找到我每天收到的电子邮件报告。代码以-
开头library(RDCOMClient)
folderName = "Inbox"
OutApp = COMCreate("Outlook.Application")
outlookNameSpace = OutApp$GetNameSpace("MAPI")
folder = outlookNameSpace$Folders(1)$Folders(folderName)
emails = folder$Items
这在上周正常工作,但是系统通常在周末重新启动,现在却不工作,我也不知道为什么。我在代码段outlookNameSpace$Folders(1)$Folders(folderName)
-
<checkErrorInfo> 80020009
No support for InterfaceSupportsErrorInfo
checkErrorInfo -2147352567
Error: Exception occurred.
但是,在尝试进行故障排除时,我遇到了Download attachment from an outlook email using R所写的内容-
library(RDCOMClient)
OutApp = COMCreate("Outlook.Application")
search = OutApp$AdvancedSearch("Inbox", "urn:schemas:httpmail:subject = 'Finding Memo - Specific Theme'")
这似乎可行,因为我在进行search$Results()$Count()
时得到正确的号码。
问题是我不能(或不知道如何)将第二种方法用于我的流程,因为尽管电子邮件报告主题的开头部分保持不变,但结尾不断变化。第一种方法使我可以在电子邮件的主题上使用grepl()
。
是否有人可以帮助我理解导致第一种方法中断的原因,或者指导我修改第二种方法以与grepl()
一起使用?
答案 0 :(得分:1)
而电子邮件报告主题的开头部分保留 一样,结局不断变化。
您可以将like
与%
结合使用,然后:
library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
search <- OutApp$AdvancedSearch("Inbox", "urn:schemas:httpmail:subject like 'Finding Memo%'")
while (search$Results()$Count() == 0) TRUE
for (x in seq_len(search$Results()$Count())) {
print(search$Results()$Item(x)$Subject())
}
这在上周(...)工作正常,现在却无法正常工作。 (...) 如果有人可以帮助我了解导致第一种方法出现的原因 打破
由于它是不可复制的,并且您没有提供有关更改内容的信息,所以这将很困难。