首页 > 解决方案 > 将 Outlook 约会保存到特定文件夹

问题描述

如何将新的 Outlook 约会保存到与我有 EntryID 的另一个约会相同的文件夹中?该文件夹应与保存“currentitem”约会的文件夹相同。我想我应该使用“item.move”功能来设置文件夹,但我无法让它工作。

EntryID = Cells(ActiveCell.Row, 23)
Set myolApp = CreateObject("Outlook.Application")
Set NS = myolApp.GetNamespace("MAPI")
NS.Logon
Set CurrentItem = NS.GetItemFromID(EntryID)
Dim MyAppt As Outlook.AppointmentItem
Set MyAppt = Outlook.Application.CreateItem(olAppointmentItem)
With MyAppt
    .Move (NS.Folders(CurrentItem)) 'THIS IS WHERE I AM STUCK
    .Start = CurrentItem.Start
    .End = CurrentItem.End
    .AllDayEvent = False
    .Display
End With

标签: excelvbaoutlook

解决方案


首先,在目标文件夹中创建项目以使用MAPIFolder.Items.Add而不是CreateItem/开始Move
如果您需要找出另一个项目的父文件夹,请将MailItem.Parent属性转换为MAPIFolder.

其次(如果你使用它并不重要MAPIFolder.Items.Add) -Move是一个返回新创建项目的函数,并且从那一刻起不能触及原始项目。您的代码会忽略新项目并继续设置旧(移动)项目的属性。


推荐阅读