查找多列的匹配单元格值并发送有关匹配信息的邮件
Finding Matched Cell Values of Multiple Columns and Sending Mail about Matched Info
我有一个 Excel 文件,其中包含如下不同的列(姓名、角色、电子邮件)。我想搜索重复多次的角色(来自角色列),并显示相应的值(来自名称列)。最后,应将有关角色信息的邮件发送到相应的邮件 ID(在电子邮件列中提到)。同样需要 VBScript 方法。
姓名 角色 电子邮件
Ram(z123)MC_PLM_Team 架构师 (TA),MC_PLM_Software 开发人员 Sh.ram@abc.com
Shm(Z003)MC_PLM_Chief 产品负责人 (CPO) Gh.sham@xyz.com
Arn(z789)MC_SW Developer/Designer ES/HMI/NET Kh.arun@wxy.com
Ach(z234)MC_PLM_Team 架构师 (TA),MC_PLM_Software 开发人员 Ch.Achal@klm.com
感谢您的意见。是的,我花了一些时间快速了解 VB 内部结构。写了脚本,满足了我的要求。这是我的第一个脚本版本,会进一步完善
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
intRows = Application.ActiveSheet.UsedRange.Rows.Count
intCols = Application.ActiveSheet.UsedRange.Columns.Count
For i = 12 To intRows
resName = Application.ActiveSheet.Cells(i, 3).Value
primRole = Application.ActiveSheet.Cells(i, 31).Value
emailID = Application.ActiveSheet.Cells(i, 49).Value
If resName <> "" Then
MsgBox resName & vbNewLine & primRole & vbNewLine & emailID
End If
Next
Set outApp = CreateObject("Outlook.Application")
Set outMail = outApp.CreateItem(0)
strBody = "Dear XYZ" & vbNewLine & "email from outlook" & vbNewLine & "Best Regards," & vbNewLine & "XYZ"
'
outMail.To = "sh.ram@abc.com"
outMail.CC = ""
outMail.BCC = ""
outMail.Subject = "Subject Test VBA"
outMail.Body = strBody
outMail.Send
Set outMail = Nothing
Set outApp = Nothing
End Sub
我有一个 Excel 文件,其中包含如下不同的列(姓名、角色、电子邮件)。我想搜索重复多次的角色(来自角色列),并显示相应的值(来自名称列)。最后,应将有关角色信息的邮件发送到相应的邮件 ID(在电子邮件列中提到)。同样需要 VBScript 方法。
姓名 角色 电子邮件 Ram(z123)MC_PLM_Team 架构师 (TA),MC_PLM_Software 开发人员 Sh.ram@abc.com Shm(Z003)MC_PLM_Chief 产品负责人 (CPO) Gh.sham@xyz.com Arn(z789)MC_SW Developer/Designer ES/HMI/NET Kh.arun@wxy.com Ach(z234)MC_PLM_Team 架构师 (TA),MC_PLM_Software 开发人员 Ch.Achal@klm.com
感谢您的意见。是的,我花了一些时间快速了解 VB 内部结构。写了脚本,满足了我的要求。这是我的第一个脚本版本,会进一步完善
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
intRows = Application.ActiveSheet.UsedRange.Rows.Count
intCols = Application.ActiveSheet.UsedRange.Columns.Count
For i = 12 To intRows
resName = Application.ActiveSheet.Cells(i, 3).Value
primRole = Application.ActiveSheet.Cells(i, 31).Value
emailID = Application.ActiveSheet.Cells(i, 49).Value
If resName <> "" Then
MsgBox resName & vbNewLine & primRole & vbNewLine & emailID
End If
Next
Set outApp = CreateObject("Outlook.Application")
Set outMail = outApp.CreateItem(0)
strBody = "Dear XYZ" & vbNewLine & "email from outlook" & vbNewLine & "Best Regards," & vbNewLine & "XYZ"
'
outMail.To = "sh.ram@abc.com"
outMail.CC = ""
outMail.BCC = ""
outMail.Subject = "Subject Test VBA"
outMail.Body = strBody
outMail.Send
Set outMail = Nothing
Set outApp = Nothing
End Sub