如何从Excel数据创建约会?
假设您在Excel工作表中有一个约会数据表,如下面的屏幕快照所示,现在,您要将这些数据导入到Outlook日历中。 您如何迅速处理这份工作?
使用VBA代码从Excel数据创建约会
要从Excel数据创建约会,您可以应用以下VBA代码,具体操作如下:
1。 启动Outlook并按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。
2。 点击 插页 > 模块,然后将以下代码粘贴到 模块 窗口。
VBA代码:将Excel数据导入约会:
Public Sub CreateOutlookApptz()
Dim xAppointmentItem As Outlook.AppointmentItem
Dim xNameSpace As Outlook.NameSpace
Dim xCalendarFld As Outlook.MAPIFolder, xSubFolder As Outlook.MAPIFolder
Dim xCalendarStr As String
Dim I As Long
Dim xFileDialog As FileDialog
Dim xFilePath As String
Dim xExcelApp As Excel.Application
Dim xWb As Workbook
Dim xWs As Worksheet
On Error GoTo Err_Execute
Set xExcelApp = New Excel.Application
Set xFileDialog = xExcelApp.FileDialog(msoFileDialogFilePicker)
With xFileDialog
.Title = "Select a file"
.Filters.Add "Microsoft Excel", "*.xlsx"
End With
If xFileDialog.Show = 0 Then Exit Sub
xFilePath = xFileDialog.SelectedItems(1)
Set xWb = xExcelApp.Workbooks.Open(xFilePath)
Set xNameSpace = Outlook.Application.Session
Set xCalendarFld = xNameSpace.GetDefaultFolder(olFolderCalendar)
I = 2
Set xWs = xWb.Worksheets.Item(1)
xCalendarStr = xWb.Name
If FolderExist(xCalendarFld, xCalendarStr) = False Then
Set xSubFolder = xCalendarFld.Folders.Add(xCalendarStr, olFolderCalendar)
Else
Set xSubFolder = xCalendarFld.Folders(xCalendarStr)
End If
Do Until Trim(xWs.Cells(I, 1).Value) = ""
Set xAppointmentItem = xSubFolder.Items.Add(olAppointmentItem)
With xAppointmentItem
.Start = xWs.Cells(I, 5) + xWs.Cells(I, 6)
.End = xWs.Cells(I, 7) + xWs.Cells(I, 8)
.Subject = xWs.Cells(I, 1)
.Location = xWs.Cells(I, 2)
.Body = xWs.Cells(I, 3)
.BusyStatus = olBusy
.ReminderMinutesBeforeStart = xWs.Cells(I, 9)
.ReminderSet = True
.Categories = xWs.Cells(I, 4)
.Save
End With
I = I + 1
Loop
Set xAppointmentItem = Nothing
Set olApp = Nothing
xExcelApp.Quit
Set xExcelApp = Nothing
MsgBox "Import successfully!", vbInformation, "Kutools for Outlook"
Exit Sub
Err_Execute:
MsgBox "An error occurred - Exporting items to Calendar.", vbInformation, "Kutools for Outlook"
End Sub
Function FolderExist(CalFolder As Folder, FolderName As String) As Boolean
Dim I As Integer
Dim xSubFolder As Folder
For I = 1 To CalFolder.Folders.Count
Set xSubFolder = CalFolder.Folders.Item(I)
If xSubFolder.Name = FolderName Then
FolderExist = True
Exit Function
End If
Next I
End Function
3。 仍在 Microsoft Visual Basic应用程序 窗口中,单击 工具 > 参考资料 去 参考-Project1 对话框,然后检查 Microsoft Excel对象库 选项从 可用参考 列表框,请参见屏幕截图:
4。 然后点击 OK 按钮,现在,按 F5 运行此代码的关键,以及 选择一个文件 显示窗口,请选择要导入到Outlook的Excel文件,请参见屏幕截图:
5. 然后点击 OK,将弹出一个提示框,如下所示:
6。 然后点击 OK,Excel数据已导入到日历中,如以下屏幕截图所示:
最佳办公生产力工具
Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook
🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...
📧 电子邮件自动化: 外出(适用于 POP 和 IMAP) / 安排发送电子邮件 / 发送电子邮件时按规则自动抄送/密件抄送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人电子邮件拆分为单独的消息 ...
📨 电子邮件管理: 轻松回忆电子邮件 / 按主题和其他人阻止诈骗电子邮件 / 删除重复的电子邮件 / 高级搜索 / 合并文件夹 ...
📁 附件专业版: 批量保存 / 批量分离 / 批量压缩 / 自动保存 / 自动分离 / 自动压缩 ...
🌟 界面魔法: 😊更多又漂亮又酷的表情符号 / 使用选项卡式视图提高 Outlook 工作效率 / 最小化 Outlook 而不是关闭 ...
👍 一键奇迹: 使用传入附件回复全部 / 反网络钓鱼电子邮件 / 🕘显示发件人的时区 ...
👩🏼🤝👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人 / 将联系人组拆分为各个组 / 删除生日提醒 ...
超过 100特点 等待您的探索! 单击此处了解更多。