我是 VBA 格式代码编写的新手,一直在研究如何在收到命令时将当前日期自动输入到电子邮件的主题行中。我需要知道如何完成以下任务。
主题行应为“东西东西东西今天的日期“正文应为,“人,(返回;标签)东西东西东西今天的日期“
此外,如果可能的话,我希望它自动附加来自特定位置的文件,该文件的名称为“今天的日期.xlsx”
今天的日期应采用 DDMMMYY 格式。
我目前正在使用一个非常基本的宏来创建电子邮件并在需要的地方添加文本。
Sub STUFF()
Dim msg As Outlook.MailItem
Set msg = Application.CreateItem(olMailItem)
msg.To = "EMAILS"
msg.CC = "EMAILS"
msg.Subject = "STUFF STUFF STUFF *DATE*"
msg.Body = "PERSON, STUFF STUFF STUFF *DATE*"
msg.Display
Set msg = Nothing
End Sub
谢谢您的帮助。
编辑-为了澄清 我尝试了以下方法: Outlook 邮件主题中的今日日期(2010/快速步骤) https://stackoverflow.com/questions/9177199/getting-the-current-date-in-visual-basic-2008 https://stackoverflow.com/questions/4313730/current-date-in-outlook-subject-line 并且大多数其他 Google 搜索结果都是针对关键字“macro outlook 2010 current date”的任何变体
编辑 2-原因 我的最终目标是拥有一个宏命令,选择后,它会为我创建一封新电子邮件,其中包含收件人、抄送、主题、正文和附件,这样我就可以编辑几行每日更改的信息并发送出去。这只会在需要时使用,而不是每次我需要发送新电子邮件时都使用。
答案1
Now
通过一些日期操作来实现您想要的帖子标题。
Sub STUFF()
Dim msg As Outlook.MailItem
Set msg = Application.CreateItem(olMailItem)
msg.To = "[email protected]"
msg.CC = "[email protected]"
msg.Subject = "STUFF STUFF STUFF" & Now
msg.Body = "PERSON, STUFF STUFF STUFF" & Now
msg.Display
msg.Attachments.Add ("e:\temp\" & Format(Now, "dd.mm.2014") & ".xlsx")
Set msg = Nothing
End Sub
Now
只会返回日期,在我们的例子中,日期只是附加到主题和正文的字符串中。如果您希望格式化日期,可以使用与Format(Now, "dd.mm.2014")
示例中类似的格式Attachment.Add
。更多日期格式例子
至于附件,这相当简单。我没有对路径进行任何数据验证,你应该这样做,但我在测试中得到了以下结果。这也完全取决于你的文件命名约定。
然后您需要做的就是为您的宏分配一个快速访问工具栏按钮。