好的 - 这似乎差不多完成了;但是一个小错误阻止了这个计数代码的运行。用于Outlook的VBA代码中的小错误!
下面是代码:
Sub Count2
Dim objOutlook As Object, objnSpace As Object, objFolder As Object
Dim Count As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objnSpace = objOutlook.GetNamespace("MAPI")
Set objFolder = objnSpace.Folders("My Personal Emails").Folders("spam")
If Err.Number <> 0 Then
Err.Clear
MsgBox "No such folder."
Exit Sub
End If
For Each MapiItem In MapiFolderInbox.Messages
Select Case Weekday(MapiItem.TimeReceived)
Case vbMonday
Count = Count + 1
End Select
Next MapiItem
MsgBox "Number of spam messages sent on a Monday: " & Count
End Sub
以下是错误消息:
错误 '424' 运行时: 所需的对象
调试器突出了线:
对于MapiFolderInbox.Messages中的每个MapItem项目
任何帮助,将不胜感激!
我不是VBA专家,但我认为你需要在使用它们之前声明'MapiItem'和'MapiFolderInbox'。 – sitnik 2011-06-07 14:59:27
好的 - 我将上面的两个声明为对象。错误消息已更改为:运行时错误'91':对象变量或未设置块变量 – 2011-06-07 15:07:02