2012-12-05 58 views
-1

就像主題行說的,我在下面的代碼中收到了這個愚蠢的錯誤消息「Method or data memeber not found」。我不知道我需要做些什麼來解決它。這可能是愚蠢的權利?在我創建變量的位置,您會注意到一個名爲tempMailItem的名稱。它是Outlook.MailItem類型。當我點擊點運算符時,MailItem是其中一員。但是當我在進行轉換的Outlook對象上鍵入點運算符時,突然MailItem不是該對象的成員之一。我不明白!這是怎麼回事?在Outlook對象上找不到方法或數據成員

艾倫

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 

回答

2

中有VBA沒有Directcast。使用:

Set tempMailItem = oitem 
相關問題