代码之家  ›  专栏  ›  技术社区  ›  phil_t

将附件从Outlook下载到R

  •  1
  • phil_t  · 技术社区  · 7 年前

    按照格雷格·撒切尔的回答 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() 关于邮件的主题。

    如果有人能帮助我理解是什么导致第一种方法崩溃,或者指导我修改第二种方法来使用 格雷普() ?

    1 回复  |  直到 7 年前
        1
  •  1
  •   lukeA    7 年前

    而电子邮件报告主题的开头部分保持不变 同样,结局总是在变。

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

    这是上周的工作(…),现在这是不工作。(…) 如果有人能帮我理解第一种方法 打破

    因为它是不可复制的,而且你没有提供任何关于什么改变的信息,这将是困难的。