RDCOMClient:从多封Outlook电子邮件下载zip附件

RDCOMClient:从多封Outlook电子邮件下载zip附件,r,vba,outlook,rdcomclient,R,Vba,Outlook,Rdcomclient,关于StackOverflow,我已经讨论了或多或少类似的问题。 最能回答我问题的是这个 在Outlook中,我有一个名为“47MY Daily Report”的自定义文件夹,其中包含具有相同电子邮件标题的每日报告,并且每个报告都有一个zip附件 该文件夹中可能有数百封每日电子邮件,每封都有一个zip附件 我想做的是 1.下载所有这些zip附件。 2.解开它们 3.根据收到的日期时间(daily_report_20190913-1530.xls),重命名每个zip附件中包含的excel文件 4.

关于StackOverflow,我已经讨论了或多或少类似的问题。 最能回答我问题的是这个

在Outlook中,我有一个名为“47MY Daily Report”的自定义文件夹,其中包含具有相同电子邮件标题的每日报告,并且每个报告都有一个zip附件

该文件夹中可能有数百封每日电子邮件,每封都有一个zip附件

我想做的是 1.下载所有这些zip附件。 2.解开它们 3.根据收到的日期时间(daily_report_20190913-1530.xls),重命名每个zip附件中包含的excel文件 4.将这些excel文件保存在一个文件夹中

我还在为第一步而挣扎,我需要从每封电子邮件中下载所有这些zip文件

下面是我目前拥有的

library(RDCOMOutlook)

# search emails and store as tibble
df_47MY <- RDCOMOutlook::search_emails(folder = 'Inbox', search_term = '47MY Daily Report')
# prepare filename for each attachment
df_47MY$filename <- paste(gsub(':','',gsub('-','',gsub(' ','_',gsub("GMT", "", df_47MY$received)))), '.xls',sep = '')

库(RDCOMOutlook)
#搜索电子邮件并存储为tibble

df_47MY我设法使用RDCOMOutlook包找到了一个解决方案。 它在RDMCOMClient之上提供了更高级别的功能

library(RDCOMOutlook)

# look for all the emails with this title
df_47JB_KPI <- RDCOMOutlook::search_emails(folder = 'Inbox', search_term = '47JB Migration KPI Report')

# prepare filename for each attachment
df_47JB_KPI$filename <- paste(gsub(':','',gsub('-','',gsub(' ','_',gsub("GMT", "", df_47JB_KPI$received)))), '.xls',sep = '')

# function that download, unzip, and rename the attachment
download_unzip_rename <- function(x, y) {
  file.rename(unzip(RDCOMOutlook::save_attachments(x,target_dir = getwd())),y)
}


dfs <- df_47JB_KPI[1:nrow(df_47JB_KPI),]
# run function to download all attachments, rename them
for (i in seq_along(dfs$email)) {
  print(i)
  email <- dfs$email[[i]]
  filename <- dfs$filename[i]
  download_unzip_rename(email, filename)
}
库(RDCOMOutlook)
#查找所有具有此标题的电子邮件
df_47JB_KPI