Kelly ha un foglio di lavoro in cui ha una tabella di date utilizzate come date di chiusura per inserire annunci nelle Pagine Gialle locali. Vuole importare queste date in Outlook Calendar

con un promemoria di 72 ore, ma alcune date continuano a cambiare in numeri.

Kelly si chiede come può ottenere le date di Excel in Outlook come ha bisogno.

Lavorare con Outlook è un po ‘”di livello superiore” rispetto alla normale macro di Excel perché è necessario comprendere non solo come accedere ai dati di Excel nella macro, ma anche come manipolare i dati di Outlook. Senza sapere esattamente quali dati è necessario trasferire dal foglio di lavoro all’appuntamento di Outlook, esaminiamo un breve scenario.

Supponiamo di avere un foglio di lavoro che contiene una serie di righe, ognuna delle quali rappresenta un singolo appuntamento che desideri creare. Ogni appuntamento contiene informazioni in sette colonne, come segue, da sinistra a destra:

Oggetto. * Testo che descrive l’evento / appuntamento (ad esempio, “Promemoria Pagine Gialle”)

Posizione. * Testo che descrive il luogo dell’evento, come una sala riunioni o un numero di teleconferenza (questo è facoltativo)

Data / ora di inizio. * Inserisci la data e l’ora in cui dovrebbe iniziare l’evento utilizzando un formato di data Excel standard (puoi visualizzare come preferisci)

Durata. Intero che rappresenta un numero di minuti per lo stato di occupato dell’appuntamento. Intero che rappresenta un valore opzionale che indica se l’ora deve essere visualizzata come Libero (0), Provvisorio (1), Occupato (2) o Fuori sede (3)

Tempo promemoria. * Intero che rappresenta un numero di minuti prima dell’appuntamento in cui dovrebbe apparire un promemoria (come 4320 che è il numero di minuti in 3 giorni)

Corpo. * Testo che descrive ogni dettaglio che potresti voler inserire nel corpo dell’appuntamento

Con questi dati a posto, puoi usare una macro per scorrere tutte le righe (iniziando dalla seconda riga, assumendo che la prima riga abbia intestazioni)

e crea un appuntamento per ogni riga.

Sub AddAppointments()

' Create the Outlook session     Set myOutlook = CreateObject("Outlook.Application")



' Start at row 2     r = 2

Do Until Trim(Cells(r, 1).Value) = ""

' Create the AppointmentItem          Set myApt = myOutlook.createitem(1)

' Set the appointment properties         myApt.Subject = Cells(r, 1).Value         myApt.Location = Cells(r, 2).Value         myApt.Start = Cells(r, 3).Value         myApt.Duration = Cells(r, 4).Value         ' If Busy Status is not specified, default to 2 (Busy)

If Trim(Cells(r, 5).Value) = "" Then             myApt.BusyStatus = 2         Else             myApt.BusyStatus = Cells(r, 5).Value         End If         If Cells(r, 6).Value > 0 Then             myApt.ReminderSet = True             myApt.ReminderMinutesBeforeStart = Cells(r, 6).Value         Else             myApt.ReminderSet = False         End If         myApt.Body = Cells(r, 7).Value         myApt.Save         r = r + 1     Loop End Sub

La macro continua a scorrere le righe finché la colonna Oggetto non è vuota.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (7349) si applica a Microsoft Excel 97, 2000, 2002 e 2003.