我一直在使用 RDCOMClient 包,如此处所述通过 Outlook 在 R 中发送电子邮件。Outlook 2010 和 Windows 7 一切正常。该脚本无法正常工作,因为我已将系统更改为带有 Outlook 2016 的 Windows 10。
这是脚本:
library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "test"
outMail[["body"]] = "Test."
outMail$Send()
它在最后一行失败,错误如下:
80004004 不支持 InterfaceSupportsErrorInfo checkErrorInfo -2147467260 错误:操作中止
建议的解决方法是打开消息框并模拟按 Ctrl+Enter:
library(KeyboardSimulator)
library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "test"
outMail[["body"]] = "Test."
outMail$Display()
Sys.sleep(3)
keybd.press('Ctrl+Enter')
但这种方法并不是 100% 可靠的。
你知道如何让 outMail$Send() 再次工作吗?
谢谢!