excel - 通过查找标题“电子邮件”并将电子邮件发送到匹配标题下方的第一个单元格,Excel VBA 发送到电子邮件地址
问题描述
我正在寻找通过查找标题“电子邮件”然后将电子邮件发送到匹配标题下的第一个单元格来发送到特定的电子邮件地址。电子邮件地址列并不总是相同,这就是为什么我需要它在匹配后返回下面的单元格(这是电子邮件地址所在的位置,例如电子邮件标题 ak1-电子邮件地址 ak2)。
【Excel文件示例】【1】【1】:https://i.stack.imgur.com/dKybj.png
我想用可以查找标题(第 1 行)并插入对应的电子邮件地址(单个单元格,第 2 行)的东西替换我的代码中的范围 AJ2
Range("AJ1").Select
ActiveCell.FormulaR1C1 = "Fund Email"
'Move the active sheet to a new Workbook
ActiveWindow.SelectedSheets.Copy
ActiveWorkbook.Password = "**********"
ActiveWorkbook.SaveAs
"\\na\Forrest\Backup.xlsx"
Dim OutApp As Object
Dim OutMail As Object
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
On Error Resume Next
With OutMail
.To = Range("AJ2").Value
.CC = ""
.BCC = ""
.Subject = Range("AK2").Value + " -Benefits backup"
.Body = "Attached is the current month's benefit payment backup for
check en route to your fund's office."
.Attachments.Add ActiveWorkbook.FullName
.send
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
ActiveWorkbook.Close
解决方案
Dim cel as Range
Dim dst as String ' Destinataire
Dim sbj as String ' Subject
Const FEM = "fund email"
Range("AJ1").Value = FEM
ActiveWorkbook.Password = "BlahBlah"
ActiveWorkbook.SaveAs = "\\na\Forrest\Backup.xlsx"
Set cel = Rows(1).Find(FEM)
sbj = cel.Offset(0,1).Value ' "CBA"
dst = cel.Offset(1,0).Value ' "Frank.Barone@usa.com"
On Error Resume Next ' Sends the current workbook by mail
ActiveWorkbook.SendMail dst, sbj & " -Benefits backup - see Attachment."
' Unfortunately you cannot fill the body of the mail with this method
On Error GoTo 0
' etc ...
推荐阅读
- php - 更改路线和内容而不刷新
- sql-server - 尝试在 SQL Server 中计算 YearWeek - 202153 --> 202100
- elasticsearch - elasticsearch需要多少堆内存?
- android - View.OnClickListner 接口不会触发 onClick 方法?
- reactjs - React SPA 中的深层链接正确回退到 index.html;但之后不会导航回深层链接
- flutter - 防止谷歌地图在 SingleChildScrollView 内滚动
- vega-lite - 使用 Vega-Lite 计算同一字段的负值和正值
- javascript - chess.com API 不会带回一些请求
- c# - 防止 XmlDocument 解释 HTML 代码
- php - using arabic words in pdf