lionheart
Goto Top

VBS - Outlook Kalendereinträge nach Kategorie löschen

Hallo Leute!

Wir verwenden in Outlook 2003 für bestimmte Kalendereinträge die eigendefinierte Kategorie "Kundentermin".

Nun benötige ich ein VBScript, welches mir aus meinem Outlook alle Kalendereinträge mit dieser Kategorie entfernt.

Ich habe bereits auf der MSDN Homepage gesucht, aber nichts wirklich passendes gefunden. Wie kann ich die Kategorie abfragen und die Einträge löschen?

Vielen Dank für eure Hilfe.

Gruß,
Lionheart

Content-Key: 117481

Url: https://administrator.de/contentid/117481

Printed on: April 19, 2024 at 19:04 o'clock

Member: flipworld12
flipworld12 Jun 04, 2009 at 13:23:09 (UTC)
Goto Top
Versuch es mal mit VBA, ich denke damit geht's einfacher...
Member: Lionheart
Lionheart Jun 05, 2009 at 07:17:48 (UTC)
Goto Top
Hi!

Warum VBA? Ich darf auf Grund von Firmenrichtlinien leider nur mit VBScripten arbeiten. Der Sinn sei einemal dahingestellt, aber ich muss mich danach richten.
Member: flipworld12
flipworld12 Jun 05, 2009 at 13:24:51 (UTC)
Goto Top
hmm... Ich glaube nicht, dass MICROSOFT es vorsieht, dass man mit VBS auf Outlook zugreifen kann. Du könntest mit dem Skript vllt. die Outlook-Datendatei verändern. Oder du suchst nochmal unter Google(oder auch bing face-wink nach "outlookzugriff mit vbs" oder so ähnlich. Vielleicht findest du ja eine DLL oder so...
Member: MonoTone
MonoTone Jun 08, 2009 at 07:47:10 (UTC)
Goto Top
Also man kann mit VBS sehr wohl auf Outlook zugreifen.
On Error Resume Next
Set myOlApp = GetObject(,"Outlook.Application")  

If Not myOlApp = "Outlook" Then  
Set myOlApp = CreateObject("Outlook.Application")  
End If
On Error goto 0
With myOlApp
Set olMAPI = .GetNameSpace("MAPI").GetdefaultFolder(9)  

WScript.Echo olMAPI.Items.count
For Each teil In olMAPI.Items
With teil
Alles = .Subject & ";" & .Location & ";" _  
          & .Categories & ";" & .Start & ";" & .End & ";" & .AllDayEvent & ";" _  
          & .Duration & ";" & .ReminderMinutesBeforeStart & ";" & .LastModificationTime & ";"  
WScript.Echo Alles
End With
Next
End With
so könnte man sich die Anzahl der Termine und die eigenschaften der einzelnen Kalendereinträge anzeigen lassen.
ergo schreib ich es eben so wie gebraucht um, mom
Member: MonoTone
MonoTone Jun 08, 2009 at 08:47:56 (UTC)
Goto Top
On Error Resume Next
Set myOlApp = GetObject(,"Outlook.Application")  

If Not myOlApp = "Outlook" Then  
Set myOlApp = CreateObject("Outlook.Application")  
End If
On Error goto 0
With myOlApp
Set olMAPI = .GetNameSpace("MAPI").GetdefaultFolder(9)  
a=1
For Each teil In olMAPI.Items 
With teil 
If .categories = "Kundentermin" Then   
del = del & "," & a  
End If 
a=a+1
End With 
Next 

itemdel=Split(del,",",-1,1)  
End With
a = UBound(itemdel)
Do While a>0
olMAPI.Items.remove itemdel(a)
a=a-1
Loop
so sollte es gehen
Member: Lionheart
Lionheart Jun 08, 2009 at 09:40:57 (UTC)
Goto Top
@MonoTone
Vielen Dank für das Skript. Funktioniert einwandfrei. Klasse!!!
Member: MonoTone
MonoTone Jun 08, 2009 at 10:26:08 (UTC)
Goto Top
Bei mir gabs ein Problem wenn die Termine neu sind, ich hab es nochmal überarbeitet, so geht es bei mir jetzt einwandfrei auch bie vielen neuen Terminen

gruss Mono