使用VBA将会话从分片邮箱移动到共享邮箱中的文件夹中

问题描述

在我们公司中,我们有一个共享邮箱(test @),在里面有一个文件夹(TestIn)。现在,我想在共享邮箱中选择收件箱的电子邮件,并将其移至“ TestIn”文件夹。

邮件应始终作为会话移动,不仅单个邮件和此标头(会话)下的每个邮件都应直接进入此文件夹。

我们正在使用Outlook中的Office365和Microsoft Exchange帐户。

我已经可以将选定的消息(或对话)从共享邮箱移动到个人邮箱的子文件夹中。但是仅在我的个人邮箱的子文件夹中,而不在共享的子文件夹中。\

这是代码

Sub SetAlwaysMovetoFolderMAPI()
Dim sharedemail As Outlook.Recipient
Dim myOlApp As New outlook.application
Dim myNameSpace As Outlook.NameSpace
Dim myInBox As Outlook.MAPIFolder
Dim myDestFolder As Outlook.MAPIFolder
Dim myMail As Outlook.MailItem
Dim myStore As Outlook.Store
Dim oConv As Outlook.Conversation

Set myNameSpace = myOlApp.GetNamespace("MAPI")
Set sharedemail = myNameSpace.CreateRecipient("Postfach Test")
Set myInBox = myNameSpace.GetSharedDefaultFolder(sharedemail,olFolderInBox)
Set myDestFolder = Application.Session.GetDefaultFolder(olFolderInBox).Folders("TestIn")
Set myMail = ActiveExplorer.Selection(1)
Set myStore = myDestFolder.Store

If myStore.IsConversationEnabled Then
 Set myConv = myMail.GetConversation
 If Not (myConv Is nothing) Then
  myConv.SetAlwaysMovetoFolder myDestFolder,myDestFolder.Store
 End If
End If
End Sub

如果我将Set myDestFolder = Application.Session.GetDefaultFolder(olFolderInBox).Folders("TestIn")替换为Set myDestFolder = myNameSpace.GetSharedDefaultFolder(sharedemail,olFolderInBox).Folders("TestIn"),它什么也不会移动,也不会收到任何错误消息。\

如果我仅调试,则该脚本从 If myStore.IsConversationEnabled Then一直跳到最后。
对我来说,这意味着If myStore.IsConversationEnabled Then是问题所在,但我什么都找不到。

我该如何解决

解决方法

这是不可能的!

问题出在共享邮箱的“存储”中。在那里“ ConversationView”不可用,这会导致“ SetAlwaysMoveToFolder”出现问题,因为我没有移动“ conversation”对象。\

我希望微软会尽快实现此功能。