Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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
VBA在输入的单元格日期更改时发送电子邮件_Vba_Outlook - Fatal编程技术网

VBA在输入的单元格日期更改时发送电子邮件

VBA在输入的单元格日期更改时发送电子邮件,vba,outlook,Vba,Outlook,我对这个编码有问题。我正在尝试对其进行编码,以便在B列的某张表上输入a日期时自动发送电子邮件 基本上,员工每天都会接到新的任务。日期将根据输入的日期更改 如果代码能够识别输入的当前日期并向特定员工发送电子邮件,我会非常高兴。这里有一个示例代码,但它只设置为数值,我不知道如何更改它。请帮忙 此代码位于特定工作表中 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.count > 1 Then Exi

我对这个编码有问题。我正在尝试对其进行编码,以便在B列的某张表上输入a日期时自动发送电子邮件

基本上,员工每天都会接到新的任务。日期将根据输入的日期更改

如果代码能够识别输入的当前日期并向特定员工发送电子邮件,我会非常高兴。这里有一个示例代码,但它只设置为数值,我不知道如何更改它。请帮忙

此代码位于特定工作表中

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.count > 1 Then Exit Sub
    If Not Application.Intersect(Range("A:A"), Target) Is Nothing Then
        If IsNumeric(Target.Value) And Target.Value >= 1 Then
            Call Send_Email
        End If
    End If
End Sub
该代码在模块中

   Sub Send_Email()
        Dim OutApp As Object
        Dim OutMail As Object
        Dim strbody As String

    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)

    strbody = "Hi All" & vbNewLine & vbNewLine & _
              "You may have new cases." & vbNewLine & _
              "Please review and disposition them." & vbNewLine & _
              "Thank you"

    On Error Resume Next
    With OutMail
        .To = "Calheers Unit"
        .CC = ""
        .BCC = ""
        .Subject = "New Case Assignments"
        .Body = strbody
        .Send
    End With
    On Error GoTo 0

    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub

如果要检查输入的日期是否为今天,只需检查target.value是否等于日期。日期在VBA中表示今天日期,类似于excel中的=今天()

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Target.Column = 2 Then               'If target is in column B
        If Target.Value = Date Then         'If the target value is today
           Call Send_Email
        End If
    End If
End Sub

输入的日期意味着什么?我们将如何找到发送电子邮件的正确员工?