就像主题行所说的那样,我在下面的代码中收到了这个愚蠢的错误消息“Method or data memeber not found”。我不确定我需要做些什么来解决它。这可能是愚蠢的吗?在我创建变量的地方,您会注意到一个名为tempMailItem的变量。它是Outlook.MailItem类型。当我点击点运算符时,MailItem就是其中一个成员。但是当我在我正在进行转换的Outlook对象上键入点运算符时,突然MailItem不是该对象的成员之一。我不明白!发生了什么事?
艾伦
Sub MoveHarpStatMail()
Dim olapp As Outlook.Application
Dim olappns As Outlook.NameSpace
Dim oitem As Object
Dim ItemsToProcess As Outlook.Items
Dim myFolder As MAPIFolder
Dim sFilter As String
Dim tempMailItem As Outlook.MailItem
On Error GoTo LocalErr
'set outlook objects
Set olapp = New Outlook.Application
Set olappns = olapp.GetNamespace("MAPI")
Set myFolder = olappns.GetDefaultFolder(olFolderInbox)
'Filter or only MailItems received today
sFilter = "[ReceivedTime] >= " & AddQuotes(Format(Date, "ddddd"))
Set ItemsToProcess = Session.GetDefaultFolder(olFolderInbox).Items.Restrict(sFilter)
For Each oitem In ItemsToProcess
If TypeName(oitem) = "MailItem" Then
Set tempMailItem = DirectCast(oitem, Outlook.MailItem) '<<<< Problem is here with Outlook object
If CheckSubject(tempMailItem.Subject) Then
MoveToArchiveFolder (tempMailItem)
End If
End If
Next oitem
ExitProc:
Set olapp = Nothing
Set olappns = Nothing
Set myFolder = Nothing
Set ItemsToProcess = Nothing
Exit Sub
答案 0 :(得分:2)
VBA中没有Directcast
。使用:
Set tempMailItem = oitem