【问题标题】:Outlook VBA to create a hyperlink to a specific Outlook objectOutlook VBA 创建指向特定 Outlook 对象的超链接
【发布时间】:2015-09-29 20:18:50
【问题描述】:

我知道 Outlook 支持处理以下格式的超链接:

 outlook:EntryID 

在哪里 EntryIDolMail.EntryID 的值。

我希望创建一个宏,该宏将在 Outlook 邮件项目上运行并复制一个 Outlook: 像这样的超链接作为超链接(而不是纯文本)到剪贴板。

构建 URL 字符串很容易,我可以使用 DataObject.SetTextDataObject.PutInClipboard 将 URL 作为计划文本放入剪贴板,但是如何将字符串作为超链接复制到剪贴板?

在 C# 中,我会尝试类似:

SetText(String, TextDataFormat.Html)

其中TextDataFormatSystem.Windows.Forms.TextDataFormat 枚举中的一个值,但我不确定如何在VBA 中执行等效操作。

谢谢

【问题讨论】:

    标签: vba outlook


    【解决方案1】:

    所有 .Net 剪贴板功能都基于 Windows API 函数。因此,您可以在 VBA 中使用 SetClipboardData 函数,它将数据以指定的剪贴板格式放置在剪贴板上。第一个参数可以是注册格式或任何标准剪贴板格式。有关详细信息,请参阅Standard Clipboard FormatsRegistered Clipboard Formats

    请注意,当项目被移动到另一个商店时,条目 ID 会发生变化,例如,从您的收件箱移动到 Microsoft Exchange Server 公用文件夹,或从一个个人文件夹 (.pst) 文件移动到另一个 .pst 文件。除非不移动项目,否则解决方案不应依赖 EntryID 属性是唯一的。此外,当在其商店中创建项目时,MAPI 商店提供程序会分配一个唯一的 ID 字符串。这意味着您将在 PC 上获得不同的条目 ID。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-16
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多