将附件从Outlook下载到R中

时间:2018-11-05 16:03:45

标签: r outlook email-attachments rdcomclient

在格雷格·撒切尔(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()一起使用?

1 个答案:

答案 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())
}
  

这在上周(...)工作正常,现在却无法正常工作。 (...)   如果有人可以帮助我了解导致第一种方法出现的原因   打破

由于它是不可复制的,并且您没有提供有关更改内容的信息,所以这将很困难。