2014-01-28 69 views
0

嗨即時通訊在Outlook 2013中創建一個宏使用vba,我需要將mi郵箱中的las郵件(最新)保存到硬盤中的.msg歸檔文件中。我有這樣的代碼:問題:對於每個 - 在

Sub prueba(Item As Outlook.MailItem) 

Dim oApp As Outlook.Application 
Dim oNameSpace As NameSpace 
Dim oFolder As MAPIFolder 
Dim oMailItem As MailItem 

Set oApp = New Outlook.Application 
Set oNameSpace = oApp.GetNamespace("MAPI") 
Set oFolder = oNameSpace.Folders("personal folder").Folders("inbox") 

For Each oMailItem In oFolder.Items 
MsgBox (oMailItem.Subject) 
oMailItem.SaveAs "C:\test\" & oMailItem.Subject & ".msg", olMSG 

Next 
End Sub 

但我的問題是與線:

For Each oMailItem In oFolder.Items 

,因爲我想只保存最後一條消息,我需要做的是這樣的:

set omailitem = ofolder.items.getlast 

但我做不到,我需要幫助!

+0

沒有,林不知道,我只是想指定的收件箱中的最後一個項目(郵件),因爲我要救的。味精 – user3245220

回答

0

您需要先進行排序項集合:

set Items = ofolder.items 
Items.Sort "[ReceivedTime]", false 
set Item = Items.GetLast 
MsgBox Item.Subject 
+0

它工程,但我怎麼能做到這一點:oMailItem,oi不能這樣做?謝謝 ! – user3245220

+0

我不確定你的意思。是否意味着變量名?只需在上面的腳本中使用oMailItem而不是Item。 –

+0

是的,只是,當我在你的代碼中替換了omailitem變量,但我發現瞭如何做。 (只需更換項目爲oumailitem)C: – user3245220