Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Termine nach Outlook senden aber ohne Duplikate

Forumthread: Termine nach Outlook senden aber ohne Duplikate

Termine nach Outlook senden aber ohne Duplikate
01.11.2018 22:36:33
Eppacher
Hallo liebes Forum!
ich habe ein Makro, mit dem ich die Termine aus dem Excel ins Outlook übertragen kann.
Eine wichtige Funktion fehlt und zwar:
Beim Importieren der Termine sollen alle Termine der grünen Kategorie durch die neuen Termine ersetzt werden. In der jetzigen Version wird der Betreff der Termine verglichen. Ändert sich der Text wird ein neuer Termin angelegt.
hier der Code, den ich benutze (es sind einige Absätze eingefügt):
Sub Termine_nach_Outlook()
On Error Resume Next
Dim sheet As Worksheet, rngStart As Range, rngEnd As Range, cell As Range
Set objOL = CreateObject("Outlook.Application")
Set objCal = objOL.Session.GetDefaultFolder(9)
Set sheet = Worksheets(1)
Set rngStart = sheet.Range("G4")
Set rngEnd = rngStart.End(xlDown)
counter = 0
For Each cell In sheet.Range(rngStart, rngEnd)
strSubject = cell.Text
strStartDate = cell.Offset(0, 1).Text
strStartTime = cell.Offset(0, 2).Text
strEndDate = cell.Offset(0, 3).Text
strEndTime = cell.Offset(0, 4).Text
boolAllDay = cell.Offset(0, 5).Value
strCategory = cell.Offset(0, 6).Text
strComment = cell.Offset(0, 7).Text
'Eventuelles Duplikat des Termins finden ---------
Dim dupe_item As Object, itm As Object
If boolAllDay Then
Set dupe_item = objCal.items.Restrict("[Start] = """ &
Format(strStartDate, "ddddd") & " 12:00 AM"" AND [END] = """ & Format
(DateAdd("d", 1, DateValue(strEndDate)), "ddddd") & " 12:00 AM"" AND
[Subject] = '" & strSubject & "'")
Else
Set dupe_item = objCal.items.Restrict("[Start] = """ &
Format(strStartDate & " " & strStartTime, "ddddd hh:nn") & """ AND [END] = """ &
Format(strEndDate & " " & strEndTime, "ddddd hh:nn") & """ AND [Subject] = '" &
strSubject & "'")
End If
Set itm = dupe_item.GetFirst
Set olApp = IIf(itm Is Nothing, objCal.items.Add(1), itm)
With olApp
.Subject = strSubject
.ReminderSet = False
If strCategory  "" Then
.Categories = "Grüne Kategorie"
End If
.Body = strComment
If boolAllDay = True Then
.AllDayEvent = True
If IsDate(strStartDate) Then
.Start = DateValue(strStartDate)
.End = DateAdd("d", 1, DateValue(strStartDate))
.Save
counter = counter + 1
End If
Else
.AllDayEvent = False
If IsDate(strStartDate) And IsDate(strEndDate) And
IsDate(strStartTime) And IsDate(strEndTime) Then
.Start = DateValue(strStartDate) & " " & TimeValue(strStartTime)
.End = DateValue(strEndDate) & " " & TimeValue(strEndTime)
.Save
counter = counter + 1
End If
End If
End With
Next
Set objOL = Nothing
MsgBox counter & " Einträge erstellt", vbInformation 
End Sub
Ich hoffe hier kann mir jemand helfen, danke im Vorraus!!!
Liebe Grüße Eppacher
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Termine nach Outlook senden aber ohne Duplikate
02.11.2018 08:20:14
Peter(silie)
Hallo,
dann vergleiche doch einfach alle parameter eines Termins?
Hast du eine Beispielmappe für uns?
AW: Termine nach Outlook senden aber ohne Duplikate
03.11.2018 16:17:35
Eppacher
Hallo,
anbei die Bespieldatei.
https://www.herber.de/bbs/user/125065.xlsm
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige