如果单元格中的date比当前date早2年,则发送邮件

我已经创build了一个macros,其中列出了Excel工作表中的所有文件和子文件夹的名称,path,创builddate,修改date,这个macros工作得很好。

但是现在我想要创build一个可以检查文件和文件夹的整个列表的macros,并且如果列出的文件/文件夹的date创builddate(列F)比当前date大于2年,它应该发送一个自动邮件给出文件的名称,path以及创build和修改信息(基本上复制该行的所有信息)给我。

请在下面find我在这一行中得到错误(运行时错误)的代码:

Sub send_files() Dim OutApp As Object Dim OutMail As Object Dim sh As Worksheet Dim cell As Range Dim FileCell As Range Dim rng As Range Dim sDate As String With Application .EnableEvents = False .ScreenUpdating = False End With Set sh = ThisWorkbook.Sheets("Sheet1") Set OutApp = CreateObject("Outlook.Application") sDate = Date For Each cell In sh.Columns("F").Cells Days = DateDiff("yyyy", Cells.Value, sDate) If Days > 2 Then Set OutMail = OutApp.CreateItem(0) With OutMail .to = cell.Value .Subject = "Testfile" .Body = "Hi " & cell.Offset(0, -1).Value .send End With End If Next cell Set OutApp = Nothing With Application .EnableEvents = True .ScreenUpdating = True End With End Sub 

错误发生在:

 Days = DateDiff("yyyy", Cells.Value, sDate) 

任何人都可以协助这个错误?

尝试改变

 Days = DateDiff("yyyy", Cells.Value, sDate) 

 Days = DateDiff("yyyy", cell.Value, sDate)