5

我一直在使用 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() 再次工作吗?

谢谢!

4

0 回答 0