vba - 从模板发送预先编写的电子邮件,并在正文中包含收件人姓名
问题描述
我发送带有附件的电子邮件,正文中的内容不多。
我想要一种输入以下内容的方法:
到名字
请参照附件。
亲切的问候,
威拉西我
所有电子邮件地址的结构都是 FirstName.LastName@company.com。
我需要一种将 FirstName 添加到文本正文的方法。
以下 VBA 代码打开了一个模板:
Sub QuickAttachementTemplate()
Set temp = Application.CreateItemFromTemplate("C:\Users\WillacyMe\AppData\Roaming\Microsoft\Templates\AttachmentTemplate.oft")
temp.Display
Set temp = Nothing
End Sub
这有一个空间来添加名字,我在运行宏后添加了电子邮件地址。
有没有办法在新电子邮件中输入电子邮件地址然后运行宏?
解决方案
将 FirstName 占位符替换为从电子邮件地址解析的文本。
Option Explicit
Sub ReplacePlaceholder()
Dim tempReplacePlaceholder As MailItem
Dim recipAddress As String
Dim firstNameFromAddress As String
Dim len_firstNameFromAddress As Long
' Generate mailitem with placeholder "FirstName"
' Enter a single recipient in the To field
Set tempReplacePlaceholder = ActiveInspector.CurrentItem
tempReplacePlaceholder.Save
With tempReplacePlaceholder
recipAddress = .To
Debug.Print recipAddress
' All email addresses must be structured FirstName.LastName@company.com.
' Find first instance of "."
len_firstNameFromAddress = InStr(recipAddress, ".") - 1
Debug.Print len_firstNameFromAddress
firstNameFromAddress = Left(recipAddress, len_firstNameFromAddress)
Debug.Print firstNameFromAddress
.Body = Replace(.Body, "FirstName", firstNameFromAddress)
.Display
End With
End Sub
推荐阅读
- mysql - MySQL 使用准备好的语句插入/更新包含点类型的行
- redis - 如何在 Redis 中查找字符串
- python - 根据 numpy 数组评估函数
- reactjs - 建筑的未定义符号,反应原生 cocoapod 问题
- javascript - onmouseover 事件不播放声音的奇怪问题
- python - Python3中相对导入的等价物
- angular - 如何在特定条件下使用导入?
- python - Pip install requests error TypeError: __init__() got an unexpected keyword argument 'max_retries'
- vb.net - 停止选择案例在 VB 中重复
- google-cloud-firestore - 仅当先前条件在 Firestore 安全规则中返回 true 时,如何评估条件