【问题标题】:Is it possible to send visualizations through RDCOM?是否可以通过 RDCOM 发送可视化?
【发布时间】:2017-05-24 15:12:03
【问题描述】:

我对 R 编程相对较新,并且已经进行了一个小项目来向 R 世界介绍自己。我想做的是帮助我的一位同事自动化他每周执行的手动电子邮件流程。

这封电子邮件包含在 Excel 中创建的图表、道琼斯指数价格、我们公司的股票价格,以及他每周手动更新的一些评论。

我已经想出了如何使用 RDCOMClient 包发送电子邮件,但我想做的是将他也提取的图表和股票价格集成到电子邮件的正文中(如果可能的话,以 HTML 格式)。我希望将所有这些自动化,所以他所要做的就是更新评论并运行脚本。

这里的关键限制因素是目标受众,这将面向那些真正不喜欢打开电子邮件附件的高管。他们想在手机上打开一封电子邮件,获取相关信息,然后继续前进。

这是我的程序到目前为止的样子:

library(RDCOMClient)
OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "test@test.com"
outMail[["subject"]] = "R Test"
outMail[["body"]] = "Hello"                   
outMail$Send()

【问题讨论】:

    标签: r outlook rdcomclient


    【解决方案1】:

    当然,首先您要保存图片。然后使用 HTMLbody 插入图片,使用 HTML 代码如下:

    library(htmlTable)
    
    png("pictest.png")
    plot(iris$Sepal.Length)
    dev.off()
    
    StockPrice <- "25.25"
    
    MyHTML <- paste0("<html><p>This is a picture.</p> 
    <img src='C:/Users/iwes/Desktop/RWorkingFolder/pictest.png' >
    <p> Our StockPrices is: $", StockPrice,
    "<p>here is a table:</p>",
    htmlTable(head(iris,5)))
    
    library(RDCOMClient)
    OutApp <- COMCreate("Outlook.Application")
    outMail = OutApp$CreateItem(0)
    outMail[["To"]] = "test@test.com"
    outMail[["subject"]] = "R Test"
    outMail[["HTMLbody"]] =  MyHTML                  
    outMail$Send()
    

    【讨论】:

    • 是否可以插入图片文件以外的内容?如果我编写了一个程序来绘制过去一周的股价图表,我可以在电子邮件正文中调用该图表吗?
    • 您可以将任何有效的 HTML 放入电子邮件中(尽管 Outlook/电子邮件的安全性对于某些事情来说是个问题。对于可视化,第一步是将可视化保存为标准图像格式。其他内容也可以放入 HTML 代码中,例如变量,有几个包可以使 html 表格看起来很漂亮,或者其他东西。我会在这个例子中添加一点。
    • 如果您还有其他问题,请告诉我。
    • 谢谢伊恩,这正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多