Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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_Excel_Outlook - Fatal编程技术网

Vba 按一年中的月份统计电子邮件

Vba 按一年中的月份统计电子邮件,vba,excel,outlook,Vba,Excel,Outlook,我修改了我的搜索电子邮件代码以计数 Public Sub mycounter() Dim outlookapp Dim olns As Outlook.Namespace Dim Fldr As Outlook.MAPIFolder Dim olMail As Object 'Dim olMail As Outlook.MailItem Dim myTasks Dim projIDsearch As String Dim myrecipient As Outlook.Recipient Dim

我修改了我的搜索电子邮件代码以计数

Public Sub mycounter()
Dim outlookapp
Dim olns As Outlook.Namespace
Dim Fldr As Outlook.MAPIFolder
Dim olMail As Object
'Dim olMail As Outlook.MailItem
Dim myTasks
Dim projIDsearch As String
Dim myrecipient As Outlook.Recipient
Dim daysAgo As Long
Dim strfilter As String
Dim emailcount As Integer

Set outlookapp = CreateObject("Outlook.Application")
Set olns = outlookapp.GetNamespace("MAPI")

Set myrecipient = olns.CreateRecipient("SharedMailbox")
myrecipient.Resolve
Set Fldr = olns.GetSharedDefaultFolder(myrecipient, olFolderInbox)

daysAgo = CInt(ProjIDSearcher.ComboBox1.Text)

Set myTasks = Fldr.Items
Set myTasks = myTasks.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "'")

For Each olMail In myTasks
    emailcount = emailcount + 1
    'Exit For
Next

MsgBox "here it is:" & emailcount

End Sub
此代码按天计算。有没有办法从下拉列表中输入一个具体的日期

Set myTasks = myTasks.Restrict("[ReceivedTime]>'" & Format(Date - daysAgo, "DDDDD HH:NN") & "'")

现在,daysAgo正在从下拉列表中获取数值。我需要计算特定月份/年份的电子邮件数量,以便计算2017年1月或2016年5月收到的电子邮件数量。

我无法测试您的代码,但允许检索给定日期范围内的项目的筛选器结构如下所示:

sFilter = ""
sFilter = "[ReceivedTime] >= '" & Format(StartDate, "ddddd h:nn AMPM") & "'"
sFilter = sFilter & " AND [ReceivedTime] <= '" & Format(EndDate, "ddddd h:nn AMPM") & "'"
sFilter=“”
sFilter=“[ReceivedTime]>=”&格式(起始日期,“DDD h:nn AMPM”)&“

sFilter=sFilter&“和[ReceivedTime]这一个要求你在A列中有你要检查的日期列表,它们之间没有空白单元格。这相当快。嗨。谢谢你的回复。我已经检查了链接,但我认为它不符合我的要求。我需要能够至少每个月计数,而不是每个日期/行。该示例中的数组也有“月”(.ReceivedTime)”中,因此您可以将代码更改为按月计数,而不仅仅是每天。