【问题标题】:How to remove "RE:" or "Fwd:" or "[EXT]" from an Outlook Appointment Invitation subject line when accepting?接受时如何从 Outlook 约会邀请主题行中删除“RE:”或“Fwd:”或“[EXT]”?
【发布时间】:2021-09-27 05:32:09
【问题描述】:

我在 Win10 上使用 Outlook 2019。

我的公司将前缀“[EXT]:”添加到从我们网络外部收到的所有电子邮件的主题行中。这包括邀请。正因为如此,“[EXT]:”在我的大部分日历中。当 90% 的主题以 [EXT] 开头时,我很难通过手机查看繁忙的日历:

我可以找出 VBA 代码以在主题行中查找 RE: 或 Fwd: 或 [EXT]: 并替换/删除它们。

点击Accept、Accept with Response、Tentative等按钮/下拉菜单时如何自动触发VBA代码?

【问题讨论】:

    标签: vba outlook appointment outlook-2019


    【解决方案1】:

    当单击这些按钮中的任何一个时,响应将发送回组织者,您可以尝试处理 Outlook 中 Application 类的 ItemSend 事件,该事件在发送 Microsoft Outlook 项目时触发,或者通过用户通过检查器(在检查器关闭之前,但在用户单击发送按钮之后)或在程序中使用 Outlook 项目的Send 方法(例如MailItem)时。

    您可能还会发现Items.ItemChange 事件很有帮助,它会在指定集合中的项目发生更改时触发。

    Public WithEvents myOlItems As Outlook.Items 
     
    Public Sub Initialize_handler() 
     Set myOlItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderCalendar).Items 
    End Sub 
     
    Private Sub myOlItems_ItemChange(ByVal Item As Object)
    Dim prompt As String 
     If VBA.Format(Item.Start, "h") >= "17" And Item.Sensitivity <> olPrivate Then 
       prompt = "Appointment occurs after hours. Mark it private?" 
       If MsgBox(prompt, vbYesNo + vbQuestion) = vbYes Then 
         Item.Sensitivity = olPrivate 
         Item.Display 
       End If 
     End If
    End Sub
    

    另一种方法是处理所有传入的电子邮件并删除主题前缀。 NewMailEx 事件在新邮件到达收件箱时以及在客户端规则处理发生之前触发。您可以使用EntryIDCollection 数组中返回的Entry ID 来调用NameSpace.GetItemFromID 方法并处理该项目。对于 Microsoft Outlook 处理的每个收到的项目,此事件都会触发一次。该项目可以是几种不同的项目类型之一,例如,MailItemMeetingItemSharingItem

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 2018-10-03
      • 1970-01-01
      • 2015-04-14
      • 2015-06-16
      • 1970-01-01
      相关资源
      最近更新 更多