【发布时间】:2014-12-06 17:19:42
【问题描述】:
我正在尝试将电子邮件从收件箱文件夹(名为“A_Classer”)移动到 Outlook 公用文件夹(目标文件夹的变量名为 olFolder) 我尝试了 getshareddefaultfolder 方法和 OpenSharedFolder 方法,但我无法解决我的语法问题 共享文件夹的名称是“Québec”,它的路径(来自 Windows 属性)是(“Dossiers publics - guillaume.hebert@cima.ca/Tous les dossiers publics/Québec”) 代码停在:set olFolder...
下面是我尝试过的所有版本的代码
Sub move_to_public_folder()
Dim msg As Outlook.MailItem
Dim olFolder As Outlook.Folder 'public folder where I want the email to be moved
Dim sourceFolder As Outlook.Folder 'current folder of the emails that are to be moved
Dim OlApp As Object
Dim myNamespace As Outlook.Namespace
Dim myRecipient As Outlook.Recipient
Set OlApp = CreateObject("Outlook.Application") 'Outlook application call
Set myNamespace = OlApp.GetNamespace("MAPI")
Set myRecipient = myNamespace.CreateRecipient("Guillaume Hébert")
myRecipient.Resolve
If myRecipient.Resolved Then
Cells(1, 1) = Cells(1, 1) + 1
End If
Set olFolder = myNamespace.OpenSharedFolder("Québec") 'FIRST try I made
'Set olFolder = myNamespace.OpenSharedFolder _ 'Second try I made
'("Dossiers publics - guillaume.hebert@cima.ca/Tous les dossiers publics/Québec")
'Set olFolder = myNamespace.GetSharedDefaultFolder _ 'Last try I made
'(myRecipient, olPublicFoldersAllPublicFolders)
Set sourceFolder = Session.GetDefaultFolder(sourceFolderInbox)
Set sourceFolder = sourceFolder.Folders("A_Classer")
If sourceFolder Is Nothing Then Exit Sub
I = sourceFolder.Items.Count
nbre_op = I 'détermine combien de courriel dans le répertoire
I = 1
While I <= nbre_op
Set msg = olFolder.Items(1)
msg.Move olFolder
I = I + 1
Wend
Set OlApp = Nothing
结束子
提前感谢您提供的所有帮助
【问题讨论】: