Como criar um compromisso a partir de dados do Excel?
Supondo que você tenha uma tabela de dados de compromisso em uma planilha do Excel, como mostrado a seguir, agora, você deseja importar esses dados para o calendário do Outlook. Como você poderia lidar com esse trabalho rapidamente?
Crie compromissos a partir de dados do Excel com código VBA
Crie compromissos a partir de dados do Excel com código VBA
Para criar compromissos a partir de dados do Excel, você pode aplicar o seguinte código VBA, faça o seguinte:
1. Inicie o Outlook e mantenha pressionado o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela.
2. Clique inserção > Móduloe cole o seguinte código no Módulo Janela.
Código VBA: Importar dados do Excel para compromisso:
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. Ainda no Microsoft Visual Basic para Aplicações janela, clique em Ferramentas > Referências para ir para o Referências-Projeto1 caixa de diálogo e verifique Biblioteca de objetos do Microsoft Excel opção do Referências Disponíveis caixa de lista, veja a captura de tela:
4. Então clique OK botão, agora, pressione F5 chave para executar este código, e um Selecione um arquivo for exibida, selecione o arquivo excel que deseja importar para o Outlook, consulte a captura de tela:
5. E, em seguida, clique em OK, uma caixa de prompt é exibida da seguinte forma:
6. Então clique OK, os dados do Excel foram importados para o calendário conforme a seguinte captura de tela mostrada:
Melhores ferramentas de produtividade de escritório
Kutools for Outlook - Mais de 100 recursos poderosos para turbinar seu Outlook
🤖 Assistente de correio AI: E-mails profissionais instantâneos com magia de IA – um clique para respostas geniais, tom perfeito, domínio multilíngue. Transforme o envio de e-mails sem esforço! ...
📧 Automação de e-mail: Fora do escritório (disponível para POP e IMAP) / Agendar envio de e-mails / CC/BCC automático por regras ao enviar e-mail / Encaminhamento automático (regras avançadas) / Adicionar saudação automaticamente / Divida automaticamente e-mails de vários destinatários em mensagens individuais ...
📨 Gestão de E-mail: Lembre-se facilmente de e-mails / Bloquear e-mails fraudulentos por assuntos e outros / Apagar Emails Duplicados / Pesquisa Avançada / Consolidar pastas ...
📁 Anexos Pró: Salvar em lote / Desanexar lote / Comprimir em Lote / Salvamento automático / Desanexação Automática / Compressão automática ...
???? Interface Mágica: 😊Mais emojis bonitos e legais / Aumente a produtividade do seu Outlook com visualizações com guias / Minimize o Outlook em vez de fechar ...
???? Maravilhas com um clique: Responder a todos com anexos recebidos / E-mails antiphishing / 🕘Mostrar fuso horário do remetente ...
👩🏼🤝👩🏻 Contatos e calendário: Adicionar contatos em lote de e-mails selecionados / Dividir um grupo de contatos em grupos individuais / Remover lembretes de aniversário ...
Sobre Características 100 Aguarde sua exploração! Clique aqui para descobrir mais.