创建数据并将数据保存到解决方案存储区

本主题介绍如何创建或使用现有的存储保存个人解决方案数据。

Outlook 对象模型支持创建解决方案数据并将其存储为文件夹中的隐藏项目。 使用 Folder.GetStorage 在指定的文件夹中创建 StorageItem 对象。 可以通过主题、邮件类或条目 ID 来标识此对象。 解决方案可以在所有文件夹中创建 StorageItem 对象,但以下情况下除外:

  • 文件夹是 Microsoft Exchange 公用文件夹、Internet 消息访问协议 (IMAP)、MSN Hotmail 或 Microsoft SharePoint Foundation 文件夹。

  • 文件夹的用户权限为只读。

  • 存储提供者不支持隐藏项目。

在这些情况下, Folder.GetStorage 将返回错误:“无法在此文件夹中创建 StorageItem。如果调用指定主题或邮件类的 Folder.GetStorage ,并且文件夹中不存在指定项,则调用将创建并返回具有邮件类 IPM 的 StorageItem 对象 。存储;但是,如果指定了条目 ID,则调用将返回错误“操作失败。 找不到对象。”

获得现有的 StorageItem

可对文件夹中已经存在的项目调用 Folder.GetStorage 。 例如,项目可以是解决方案在以前创建的项目、具有已知邮件类(如 IPC.MS.Outlook.AgingProperties )的项目或在早期 Outlook 版本中以隐藏邮件的形式存在于文件夹中的项目。 在这些情况下,该调用将返回一个代表该项目的 StorageItem 对象。 但是,该项目的邮件类将不会更改。

如果调用指定主题或邮件类的 Folder.GetStorage,并且文件夹中存在多个项目,则该调用会返回上次修改的项目(即具有最近的 PidTagLastModificationTime 的项目)。

在 StorageItem 中存储数据

获得 StorageItem 对象之后,可以将私有数据存储为项目的附件,或者存储为 Body 属性值或项目的自定义属性值。 项目的初始大小为 0。 将数据存储到项目中时,会更新 StorageItem.Size 。 请调用 StorageItem.Save 以更新文件夹中项目的内容。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。