有些人希望在标记电子邮件时自动或快速创建新的 Outlook 约会。 本文将介绍一种用Outlook VBA实现的方法。
有时,我可能会收到一封提到约会或会议的电子邮件。 但它只是一封电子邮件,而不是 Outlook 中的常见会议项目。 在这种情况下,我必须在我的 Outlook 日历中手动创建一个新约会。 这就有点麻烦了。 所以我希望Outlook可以自动创建一个新的约会。 然而,Outlook 并不支持我们在标记电子邮件时自动创建新约会。 因此,为了实现它,我选择使用 Outlook VBA。 下面是详细的 VBA 代码和步骤。
标记电子邮件时自动创建新约会
- 首先,切换到“开发人员”选项卡并点击“代码”组中的“Visual Basic”按钮。

- 然后在新的“Microsoft Visual Basic for Applications”窗口中,您需要双击“ThisOutlookSession”来打开这个项目。
- 然后将以下 VBA 代码复制并粘贴到其中。
Public WithEvents olItems As Outlook.Items
Private Sub Application_Startup()
Set olItems = Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub olItems_ItemChange(ByVal Item As Object)
Dim oAppt As AppointmentItem
Dim strMsg As String
Dim nRes As Integer
On Error Resume Next
If TypeName(Item) = "MailItem" And Item.IsMarkedAsTask = True Then
strMsg = "Do you want to create a new appointment"
nRes = MsgBox(strMsg, vbYesNo + vbQuestion, "Confirm Creating Appointment")
If nRes = vbYes Then
Set oAppt = Application.CreateItem(olAppointmentItem)
With oAppt
.Subject = "New Appt: " & Item.Subject
.Location = InputBox("Enter the Location, please.")
'Type the concrete time, such as "12/29/2015 15:30"
.Start = InputBox("Enter a specific time (format: MM/DD/YYYY hh:mm), please.")
.Duration = 120
.Body = "New Appointment: " & vbCrLf & vbCrLf & Item.Body
.Attachments.Add Item
.ReminderSet = True
.ReminderMinutesBeforeStart = 30
'Use ".Save" to directly save the new appointment
.Display
End With
End If
'To clear the flag on the email
'If you want to keep email flagged, remove the following 4 lines
With Item
.ClearTaskFlag
.Save
End With
End If
End Sub
- 随后,您应该使用“VBA 项目数字证书”创建一个新证书并签署当前“ThisOutlookSession”项目。
- 之后,您可以退出“Visual Basic”窗口并将宏设置更改为仅允许数字签名的宏。
- 最终,您可以尝试一下。
- 首先,选中一封电子邮件并单击“标记”图标。 你会得到一个提示,就像下面的截图:
- 选择“是”后,您需要指定位置并点击“确定”按钮。
- 然后你需要指定约会时间。
- 最后点击“确定”后,会打开一个新的约会,如下图:
备注:
- 在此 VBA 代码中,提醒默认设置为 30 分钟。 您可以在代码中随意更改它。
- 代码将约会持续时间设置为 120 分钟,即 2 小时。 您可以根据需要更改“.Duration = 120”行。
- 如果您没有指定具体时间,默认情况下新约会将设置为当前日期和时间。
- 您可以添加“.Save”行以直接保存约会。
处理 Outlook 问题
众所周知,Outlook 可能会遇到各种问题。 最糟糕的情况一定是 Outlook 损坏。 如果您的 Outlook 文件已损坏并且您手头有一个备份,您可以轻松地恢复您的 损坏的 Outlook 数据 从备份。 但如果您没有备份,则需要修复损坏的 Outlook 文件。 在这种情况下,您可以使用内置的修复工具 Scapst.exe,或者求助于更有经验的工具,例如 DataNumen Outlook Repair.
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复 SQL Server mdf数据库问题 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com






