按接收日期获取消息数
我有以下代码用于计算 Outlook 中的电子邮件总数:
Sub Test()
Dim objOutlook As Object, objnSpace As Object, objFolder As Object
Dim EmailCount As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
On Error Resume Next
Set objFolder = objnSpace.Folders("MyFolder").Folders("Spam")
If Err.Number <> 0 Then
Err.Clear
MsgBox "No such folder."
Exit Sub
End If
EmailCount = objFolder.Items.Count
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing
MsgBox "Number of emails in the folder: " & EmailCount, , "Number of spam messages "
End Sub
有人可以给我一些方法来计算一周中的某一天吗?
示例:
- “周一收到的邮件数 = 476”
- “周日收到的邮件数量= 121”
或者甚至对于特定日期
- “11 月 2 日收到的电子邮件数量2010”
I have the following code for counting gross number of e-mails in Outlook:
Sub Test()
Dim objOutlook As Object, objnSpace As Object, objFolder As Object
Dim EmailCount As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
On Error Resume Next
Set objFolder = objnSpace.Folders("MyFolder").Folders("Spam")
If Err.Number <> 0 Then
Err.Clear
MsgBox "No such folder."
Exit Sub
End If
EmailCount = objFolder.Items.Count
Set objFolder = Nothing
Set objnSpace = Nothing
Set objOutlook = Nothing
MsgBox "Number of emails in the folder: " & EmailCount, , "Number of spam messages "
End Sub
Could someone please give me some way to count for a particular day of the week?
Examples:
- "NUMBER OF MESSAGES RECEIVED ON MONDAYS = 476"
- "NUMBER OF MESSAGES RECEIVED ON SUNDAYS = 121"
Or even for a particular date
- "NUMBER OF EMAILS RECEIVED ON THE 2nd November 2010"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
也许将参数(可选 dteDate As Date)添加到整个方法/函数并在主体中包含以下代码
Perhaps add argument (Optional dteDate As Date) to whole method/function and contain the following code within the body
看起来您必须查看每条消息并使用 TimeReceived 属性。
或类似的东西。
Looks like you will have to look at each message and use the TimeReceived property.
or something like that.
嗯,这就是我所拥有的。似乎没有任何简单的属性或方法可以为您提供所需的答案。我不知道是否有任何方法可以通过 SQL 查询引用邮件项目。如果有的话,那将是理想的方法。由于这似乎不可能,因此您唯一的选择是迭代文件夹中的所有项目,并为一周中的几天设置几个计数器变量。然后为每个项目增加适当的计数器。
主要问题只是弄清楚如何引用适当的对象。
在 MS Outlook 2003 中进行了测试,似乎可以正常工作。但是 - 我还没有检查它是否正在计算收件箱每个子文件夹中的每个项目,或者它是否只是给出收件箱本身中的项目计数,而不是收件箱子文件夹中的任何项目。
不管怎样,她是:
如果这个代码有帮助,请投票给我。我需要积分。 :-)
Well this is what I've got. There does not appear to be any simple property or method to give you the answer you're wanting. I don't know if there's any way to reference the mail items through a SQL query. If there were, that would be the ideal approach. Since that doesn't seem to be possible, you're only option is to iterate over ALL the items in the folder (or folders) and have several counter variables for the days of the week. Then you increment the appropriate counter for each item.
The main problem is simply figuring out how to reference the appropriate object.
Tested in MS Outlook 2003 and appears to be working. BUT--I haven't check to see if it's counting every item in every sub-folder of Inbox or if it's just giving a count of items in Inbox itself, but not any of the items in sub-folders of the Inbox.
Anyway, her it is:
If this code was helpful please vote for me. I need points. :-)