2013-06-19 105 views
1

我們公司正在使用Enterprise Vault系統存儲已存檔的電子郵件。 10%的時間我能夠檢索我的電子郵件。所以我正在開關將它們存儲在我的電腦上。對所有打開的電子郵件執行操作並移至文件夾

這是我會怎麼做:電子郵件

  1. 計數x號在「存檔」文件夾
  2. 打開N個電子郵件項目在「存檔」文件夾
  3. 副本ñ電子郵件項目
  4. 將電子郵件項目移動到「電腦」文件夾中(注意:電子郵件必須打開並移動)
  5. 關閉n電子郵件窗口
  6. 重複,直到n = x

我的電腦上有一個.pst文件夾。

有人可以幫我開發最簡單的代碼來完成第2步嗎?

這是我迄今爲止...

Sub MoveToFolder() 

Dim olApp As New Outlook.Application 
Dim olNameSpace As Outlook.NameSpace 
Dim olArcFolder As Outlook.MAPIFolder 
Dim olCompFolder As Outlook.MAPIFolder 
Dim mailboxNameString As String 
Dim myInspectors As Outlook.MailItem 
Dim myCopiedInspectors As Outlook.MailItem 
Dim x As Integer 
Dim iCount As Integer 

mailboxNameString = "Emails Stored on Computer" 
Set olNameSpace = olApp.GetNamespace("MAPI") 
Set olArcFolder = olNameSpace.Folders(mailboxNameString).Folders("Archived") 
Set olCompFolder = olNameSpace.Folders(mailboxNameString).Folders("Computer") 

'Make some kind of loop that counts the emails in the folder "Computer" 
'opens it up, and then moves it to the folder "Archived" 
Set myInspectors = Outlook.Application.ActiveInspector.CurrentItem 
Set myCopiedInspectors = myInspectors.copy 
myCopiedInspectors.Move (olCompFolder) 
'next email 
+0

在這個傢伙上掙扎。我可以複製打開的電子郵件並將其放入一個文件夾中。但訣竅是爲了移動完整的電子郵件,您必須打開它。這將從Vault服務器下載它。 – Jason

回答

2

好,大家好,想我自學畢竟。這適用於我想要的。

Sub MoveToFolder() 

Dim olApp As New Outlook.Application 
Dim olNameSpace As Outlook.NameSpace 
Dim olArcFolder As Outlook.MAPIFolder 
Dim olCompFolder As Outlook.MAPIFolder 
Dim mailboxNameString As String 
Dim myInspectors As Outlook.MailItem 
Dim myCopiedInspectors As Outlook.MailItem 
Dim myItem As Outlook.MailItem 
Dim M As Integer 
Dim iCount As Integer 

Set olNameSpace = olApp.GetNamespace("MAPI") 
Set olArcFolder = olNameSpace.Folders("Emails Stored on Computer").Folders("Archived") 
Set olCompFolder = olNameSpace.Folders("Emails Stored on Computer").Folders("Computer") 


For M = 1 To olArcFolder.items.Count 
    Set myItem = olArcFolder.items(M) 
    myItem.Display 
    Set myInspectors = Outlook.Application.ActiveInspector.CurrentItem 
    Set myCopiedInspectors = myInspectors.copy 
    myCopiedInspectors.Move olCompFolder 
    myInspectors.Close olDiscard 
Next M 



End Sub 
相關問題