Note: The other languages of the website are Google-translated. Back to English
Accedi  \/ 
x
or
x
Registrati  \/ 
x

or

Come creare un appuntamento dai dati di Excel?

Supponendo che tu abbia una tabella dei dati degli appuntamenti in un foglio di lavoro di Excel come mostrato nella seguente schermata, ora, vuoi importare questi dati nel calendario di Outlook. Come hai potuto affrontare questo lavoro velocemente?

doc esporta i dati excel all'appuntamento 1

Crea appuntamenti da dati Excel con codice VBA


Crea appuntamenti da dati Excel con codice VBA

Per creare appuntamenti dai dati di Excel, puoi applicare il seguente codice VBA, per favore fai come segue:

1. Avvia Outlook e tieni premuto il pulsante ALT + F11 chiavi per aprire il Microsoft Visual Basic, Applications Edition finestra.

2. Clic inserire > Moduloe incolla il codice seguente nel file Modulo Finestra.

Codice VBA: importa i dati Excel all'appuntamento:

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. Ancora in Microsoft Visual Basic, Applications Edition finestra, fare clic Strumenti > Referenze per andare al Riferimenti-Progetto1 finestra di dialogo e selezionare Libreria di oggetti di Microsoft Excel opzione dal Riferimenti disponibili casella di riepilogo, vedi screenshot:

doc esporta i dati excel all'appuntamento 2

4. Quindi fare clic OK pulsante, ora, premere F5 chiave per eseguire questo codice e un file Seleziona un file viene visualizzata la finestra, selezionare il file excel che si desidera importare in Outlook, vedere screenshot:

doc esporta i dati excel all'appuntamento 3

5. Quindi fare clic su OK, viene visualizzata una finestra di messaggio come segue:

doc esporta i dati excel all'appuntamento 4

6. Quindi fare clic OK, i dati di Excel sono stati importati nel calendario come mostrato nella seguente schermata:

doc esporta i dati excel all'appuntamento 5


Kutools for Outlook: porta 100 funzionalità avanzate in Outlook e semplifica notevolmente il lavoro!

  • Auto CC / BCC dalle regole durante l'invio di e-mail; Avanzamento automatico Email multiple personalizzate; Risposta automatica senza server di scambio e più funzioni automatiche ...
  • Avviso BCC - mostra il messaggio quando provi a rispondere a tutti se il tuo indirizzo e-mail è nell'elenco BCC; Ricorda quando mancano allegatie altre funzioni di promemoria ...
  • Rispondi (tutti) con tutti gli allegati nella conversazione di posta; Rispondi a molte email in secondi; Aggiunta automatica di saluto quando rispondi; Aggiungi la data all'oggetto ...
  • Strumenti per gli allegati: gestisci tutti gli allegati in tutti i messaggi, Scollegamento automatico, Comprimi tutto, Rinomina tutto, Salva tutto ... Rapporto rapido, Conta le email selezionate...
  • E-mail spazzatura potenti per abitudine; Rimuovi messaggi e contatti duplicati... Consentono di fare in modo più intelligente, veloce e migliore in Outlook.
girato kutools outlook scheda kutools 1180x121
girato kutools outlook kutools plus tab 1180x121
 
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sean Kuhlmeyer · 1 years ago
    Returns "Compile error: User-defined type not defined"
  • To post as a guest, your comment is unpublished.
    Swagata · 1 years ago
    Hello,

    Thank you so much but the code is not executing successfully when creating appointments in a shared calendar. Could you please help
  • To post as a guest, your comment is unpublished.
    amiral · 2 years ago
    super cool il ya une erreur je la i rectifier mai apparament mes items colle pas mince



    olApp = Nothing ?
    xExcelApp.Quit