Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据每个电子邮件的Excel单元格值确定Outlook收件人_Excel_Outlook - Fatal编程技术网

根据每个电子邮件的Excel单元格值确定Outlook收件人

根据每个电子邮件的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

无法获取.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") 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
。谢谢您的帮助