Les galetes ens ajuden a lliurar els nostres serveis. En utilitzar els nostres serveis, accepteu el nostre ús de cookies.
Consell: altres idiomes es tradueixen en Google. Pots visitar el English versió d'aquest enllaç.
Iniciar Sessió
x
or
x
x
Registre
x

or

Com es creen recordatoris d'Outlook del full de càlcul d'Excel?

Aquest article parla de crear recordatoris d'Outlook basats en dades del full de càlcul d'Excel.

Creta recordatoris d'Outlook del full de càlcul d'Excel amb codi VBA

Kutools per Outlook: 100 + Noves eines avançades per a Outlook.
Pestanya d'Office: Activa l'edició i la navegació amb pestanyes a l'oficina, Just Like Chrome, Firefox, IE 8 / 9 / 10.
Menú Classic: Porta menús antics i barres d'eines cap enrere a Office 2007, 2010, 2013, 2016 i 2019.

Creta recordatoris d'Outlook del full de càlcul d'Excel amb codi VBA

Si voleu crear recordatoris d'Outlook des d'Excel, feu el següent.

1. Crea un full de càlcul que conté els encapçalaments de columnes i els camps de recordatori corresponents com es mostra a continuació.

Nota: Per al estat ocupat columna, número 2 significa que el recordatori es mostrarà com a Ocupat al calendari d'Outlook. Pots canviar-ho 1 (tentativa), 3 (fora d'oficina), 4 (Treballant en un altre lloc), O 5 (gratuït) com necessiteu.

2. Premeu el botó Alt + F11 claus per obrir el Microsoft Visual Basic per a aplicacions finestra.

3. A la Microsoft Visual Basic per a aplicacions finestra, feu clic a Insereix > Mòduls. A continuació, copieu el codi VBA per sota de la finestra Codi.

Codi VBA: crea recordatoris d'Outlook des del full de càlcul d'Excel

Sub AddAppointments()
'Update by Extendoffice 20180608
    Dim I As Long
    Dim xRg As Range
    Dim xOutApp As Object
    Dim xOutItem As Object
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = Range("A2:G2")
    For I = 1 To xRg.Rows.Count
        Set xOutItem = xOutApp.createitem(1)
        Debug.Print xRg.Cells(I, 1).Value
        xOutItem.Subject = xRg.Cells(I, 1).Value
        xOutItem.Location = xRg.Cells(I, 2).Value
        xOutItem.Start = xRg.Cells(I, 3).Value
        xOutItem.Duration = xRg.Cells(I, 4).Value
        If Trim(xRg.Cells(I, 5).Value) = "" Then
            xOutItem.BusyStatus = 2
        Else
            xOutItem.BusyStatus = xRg.Cells(I, 5).Value
        End If
        If xRg.Cells(I, 6).Value > 0 Then
            xOutItem.ReminderSet = True
            xOutItem.ReminderMinutesBeforeStart = xRg.Cells(I, 6).Value
        Else
            xOutItem.ReminderSet = False
        End If
        xOutItem.Body = xRg.Cells(I, 7).Value
        xOutItem.Save
        Set xOutItem = Nothing
    Next
    Set xOutApp = Nothing
End Sub

Nota: En el codi anterior, A2: G2 és l'interval de dades que voleu crear en funció de les cites.

4. Premeu el botó F5 o feu clic al botó Executa per executar el codi. A continuació, totes les cites amb camps específics s'insereixen al calendari del vostre Outlook alhora.

A continuació, podeu anar al calendari de la vostra visualització per veure els resultats, veure captura de pantalla:



Kutools per Outlook

Més de 100 Advanced Functions for Outlook 2010, 2013, 2016, 2019 i 365

captura de pantalla kutools per a les minúscules perspectives per a l'anunci 201812

Més funcions | Descàrrega gratuita | Només $ 39.00 per centenars de funcions

Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Alexandra · 1 months ago
    Hello! Love the idea of this code, but I have a few questions:


    1. It won't run because of the "bug" on this line (error 440, Run time error):
    xOutItem.ReminderMinutesBeforeStart = xRg.Cells(I, 6).Value
    2. If I don't necessarily want to put the column headers from A2:G2, can i just simply change it in the code (ex: F3-K3), will it still work?
    3. How does it know to connect to my outlook?


    Thank you for your response, I'd really appreciate it!
  • To post as a guest, your comment is unpublished.
    Michelle · 1 months ago
    Hello, thank you for the code but I'm struggling with it only putting in the first entry in excel into Outlook. How do i get it to enter in all line items?
    Here is my code, I added in a category color


    Sub AddAppointments()
    'Update by Extendoffice 20180608
    Dim I As Long
    Dim xRg As Range
    Dim xOutApp As Object
    Dim xOutItem As Object
    Set xOutApp = CreateObject("Outlook.Application")
    Set xRg = Range("A2:G2")
    For I = 1 To xRg.Rows.Count
    Set xOutItem = xOutApp.createitem(1)
    Debug.Print xRg.Cells(I, 1).Value
    xOutItem.Subject = xRg.Cells(I, 1).Value
    xOutItem.Location = xRg.Cells(I, 2).Value
    xOutItem.Start = xRg.Cells(I, 3) + xRg.Cells(I, 8).Value
    xOutItem.Duration = xRg.Cells(I, 4).Value
    xOutItem.Categories = xRg.Cells(I, 9).Value
    If Trim(xRg.Cells(I, 5).Value) = "" Then
    xOutItem.BusyStatus = 2
    Else
    xOutItem.BusyStatus = xRg.Cells(I, 5).Value
    End If
    If xRg.Cells(I, 6).Value > 0 Then
    xOutItem.ReminderSet = True
    xOutItem.ReminderMinutesBeforeStart = xRg.Cells(I, 6).Value
    Else
    xOutItem.ReminderSet = False
    End If
    xOutItem.Body = xRg.Cells(I, 7).Value
    xOutItem.Save
    Set xOutItem = Nothing
    Next
    Set xOutApp = Nothing
    End Sub
  • To post as a guest, your comment is unpublished.
    Riaz · 4 months ago
    Hi There,

    Great formula/code.


    What happens that this code generates multiple entries in the outlook calendar if its run more than once by mistake. I also wanted it to be setup as a template so that staff can use it. They can put in the dates and rest of the details are required and when they run it should list the entries in outlook calendar. Any deleted excel data should be deleted from outlook as well and same applies to any changes. When I save the excel spreadsheet it saves in the default excel format, but I want it to be saved with Macros so that it does not lose the code and staff can use it as many times as needed. Can you please advise and make relevant changes to the code? Thanks
    • To post as a guest, your comment is unpublished.
      crystal · 3 months ago
      Hi,
      For saving the macros for future use in the Workbook, you need to click File > Save As > Browse > select a folder to save the workbook > choose “Excel Macro-enabled Workbook” from the Save as type drop-down > Save.