You need to enable JavaScript to run this app. 使用RDCOMClient发送邮件时如何在主题中添加前一天日期?
优惠活动
大模型
产品
解决方案
定价
更多

使用RDCOMClient发送邮件时如何在主题中添加前一天日期?

报错原因

R 语言中 + 仅支持数值类型的算术运算,不支持字符串拼接操作。你尝试用 + 连接字符串和日期类型数据,不符合语法规则,因此触发非数值参数传入二元运算符的报错。

解决方案

使用 R 自带的字符串拼接函数 paste() 或 paste0() 替换原有拼接逻辑即可:

  • paste() 拼接时默认自动添加空格分隔内容
  • paste0() 拼接时不会自动添加分隔符,完全按传入顺序拼接内容

修正后完整代码

d1 <- Sys.Date() - 1

OutApp <- COMCreate("Outlook.Application")
outMail = OutApp$CreateItem(0)
outMail[["To"]] = "anc@xyb.com"

# 直接拼接,日期默认输出为 YYYY-MM-DD 格式
outMail[["subject"]] = paste("Database collection dated", d1)

# 如果需要自定义日期格式,可使用 format 函数转换后再拼接,示例如下:
# d1_format <- format(d1, "%Y年%m月%d日")
# outMail[["subject"]] = paste0("Database collection dated ", d1_format)

outMail$Send()

注:原有代码中 paste("anc@xyb.com") 没有多内容拼接需求的话可以直接去掉paste(),直接赋值字符串即可。

内容的提问来源于stack exchange,提问作者MSM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 03:24:03