根据每个电子邮件的Excel单元格值确定Outlook收件人
无法获取.To=来填写列中的信息。我正在尝试设置“Resolved”在E列中的位置,然后在运行宏时,to.to=将在F列中填充相邻的员工id。下面是我能够研究和制作的内容,但没有任何运气根据单元格值填充“收件人”字段。提前感谢您的帮助。在调查过程中,找不到关于这个场景的任何信息根据每个电子邮件的Excel单元格值确定Outlook收件人,excel,outlook,Excel,Outlook,无法获取.To=来填写列中的信息。我正在尝试设置“Resolved”在E列中的位置,然后在运行宏时,to.to=将在F列中填充相邻的员工id。下面是我能够研究和制作的内容,但没有任何运气根据单元格值填充“收件人”字段。提前感谢您的帮助。在调查过程中,找不到关于这个场景的任何信息 Sub Send_Email() Dim rng As Range For Each rng In Range("E2:E22") If (rng.Value = "Resolved") T
Sub Send_Email()
Dim rng As Range
For Each rng In Range("E2:E22")
If (rng.Value = "Resolved") Then
Call mymacro(rng.Address)
End If
Next rng
End Sub
Private Sub mymacro(theValue As String)
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi, your issue has been resolved should issues persist please contact 611 for additional assistance."
On Error Resume Next
With xOutMail
.To = Cells().Value
.CC = ""
.BCC = ""
.Subject = "Your issue has been resolved."
.Body = xMailBody
.Display ' using .Send for final version
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
是否要使用Excel VBA实现Outlook邮件传递 如果是,, 您可以使用以下方法获取范围内的电子邮件地址 您可以使用Sheet1.Cells获取范围内的电子邮件地址。 电子邮件地址位于RNG对象的第一列的同一行中。 表1.单元格(rng.Row,1).值 调用mymacro(theValue作为字符串)方法时,将电子邮件地址传递给value参数
Sub Send_Email()
Dim rng As Range
For Each rng In Range("C1:C4")
If (rng.Value = "2") Then
Call mymacro(Sheet1.Cells(rng.Row, 1).Value)
End If
Next rng
End Sub
Private Sub mymacro(theValue As String)
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi, your issue has been resolved should issues persist please contact 611 for additional assistance."
On Error Resume Next
With xOutMail
.To = theValue
.CC = ""
.BCC = ""
.Subject = "Your issue has been resolved."
.Body = xMailBody
.Display ' using .Send for final version
'.Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
因此,在mymacro(字符串形式的值)方法中,.To应该使用value参数
Sub Send_Email()
Dim rng As Range
For Each rng In Range("C1:C4")
If (rng.Value = "2") Then
Call mymacro(Sheet1.Cells(rng.Row, 1).Value)
End If
Next rng
End Sub
Private Sub mymacro(theValue As String)
Dim xOutApp As Object
Dim xOutMail As Object
Dim xMailBody As String
Set xOutApp = CreateObject("Outlook.Application")
Set xOutMail = xOutApp.CreateItem(0)
xMailBody = "Hi, your issue has been resolved should issues persist please contact 611 for additional assistance."
On Error Resume Next
With xOutMail
.To = theValue
.CC = ""
.BCC = ""
.Subject = "Your issue has been resolved."
.Body = xMailBody
.Display ' using .Send for final version
'.Send
End With
On Error GoTo 0
Set xOutMail = Nothing
Set xOutApp = Nothing
End Sub
这将是一个更干净的
子文件
——然后您将能够使用偏移量
,例如.to=rng.Offset(,1).Value
。谢谢您的帮助