< návrat zpět

MS Excel


Téma: VBA - excel to outlook úprava rss

Zaslal/a 4.5.2018 11:32

Ahoj 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

Zaslat odpověď >

#040289
avatar
Makro jste převzal dobře :-), tak stačí přeci jen nahradit konstantu intRadek za cyklus

For intRadek = ... to n
...
Next intRadekcitovat
#040290
avatar

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


OK díky, ještě jsem se na tím zamyslel a možná by bylo pro mě přínosnější, kdybych si mohl vybrat akci (tedy v tomto případě řádek, který bych chtěl importovat do kalendáře. Něco vy smyslu, že kdybych klepl na tlačítko, tak by se mě to zeptalo, jaký řádek chci importovat do kalendáře.

Umí někdo z Vás toto makro upravit? Díkycitovat
#040296
elninoslov
Do mailu ste mi poslal iný popis ako sem. Dostal ste iné riešenie. Podľa mňa chcete niečo také ako som Vám pripravil teraz. Dobre porozmýšľajte nad zmyslom tých dátumov. Štart, Koniec, Upozornenie, dávate všetko rovnaké. Áno koniec v makre rátate ako Štart+1, ale ani ten Štart nemáte všade vyplnený. Lenže potom čas upozornenia predom rátate ako rozdiel medzi (Štart-Upozornenie) * 1440 [teda 1 deň], čo je nezmysel, lebo vždy je Štart,Koniec,Upozornenie rovnaké. Teda Vám vyjde vždy 0.

Vložte ešte raz poriadny popis a poriadnu prílohu, z ktorej bude zrejmé ako vypočítať (odkiaľ to brať) Koniec a Upozornenie, alebo si to už upravte.
Příloha: zip40296_kopia-improvement-plans-suppliers.zip (33kB, staženo 56x)
citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

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.

On-line nástroje