For intRadek = ... to n
...
Next intRadekcitovat
Zaslal/a
4.5.2018 11:32Ahoj někde na netu jsem našel toto makro jak ze řádku vytvořit událost a uložit ji do kalendáře outlooku. Můj dotaz na Vás je, zda-li by bylo možné mi toto makro upravit aby to nebralo jenom jeden řádek událostí a ale všechny. V případě duplicity stejného data tento řádek do outlooku neukládat. Díky moc.
Makro je zatím takovéto:
Sub OutlookVytvoritUkolUdalost()
Dim objOutlook As Object
Dim objTaskItem As Object
Dim objAppointmentItem As Object
Dim intRadek As Integer
'aktivace patřičného listu
wshUdalosti.Activate
'volba datového řádku
intRadek = 2
'vytvoření instance aplikace Outlook
Set objOutlook = CreateObject("Outlook.Application")
'úkol ... olTaskItem ... 3
'Set objTaskItem = objOutlook.CreateItem(3)
'With objTaskItem
' .Subject = Cells(intRadek, 1).Text
' .StartDate = Cells(intRadek, 2).Value
' .DueDate = Cells(intRadek, 3).Value
' .ReminderTime = Cells(intRadek, 4).Value
' .Body = Cells(intRadek, 5).Text
' .Save
'End With
'událost ... olAppointmentItem ...1
Set objAppointmentItem = objOutlook.CreateItem(1)
With objAppointmentItem
'předmět
.Subject = Cells(intRadek, 1).Text
'počáteční datum
.Start = Cells(intRadek, 2).Value
'konečné datum
.End = Cells(intRadek, 3).Value + 1
'celodenní událost
.AllDayEvent = True
'upozornění v minutách před poč. datem
.ReminderMinutesBeforeStart = (Cells(intRadek, 2).Value - _
Cells(intRadek, 4).Value) * 1440
'obsah
.Body = Cells(intRadek, 5).Text
'místo
.Location = Cells(intRadek, 6).Text
'uložení
.Save
End With
'odstranění objektů z paměti
Set objTaskItem = Nothing
Set objAppointmentItem = Nothing
Set objOutlook = Nothing
End Sub
xlnc napsal/a:
Makro jste převzal dobře :-), tak stačí přeci jen nahradit konstantu intRadek za cyklus
For intRadek = ... to n
...
Next intRadek
Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.
Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.