nube-li
Goto Top

Outlooktermin mit bestimmter Beschriftung auf Privat setzen

Hallo zusammen!

Ich habe mir neulich ein Iphone zugelegt und es Synchronisiert sauber mit Outlook.
Bereits habe ich eingestellt, das Termine die vom Iphone in den Kalender gesynct werden, mit einer Farblichen Beschriftung versehen werden.

Nun würde ich gerne ein Script haben, dass mir die Termine vom Iphone, welche eine bestimmte Beschriftung haben, automatisch auf Privat gesetzt werden.

Ich habe mich nun wirklich lange mit google rumgeschlagen, aber mit den Schlagwörtern: Outlook, Termine, Beschriftung und Privat finde ich nix.

Hoffentlich könnt ihr m ir helfen.

Grüsse
nube

Content-Key: 143777

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

Printed on: April 16, 2024 at 07:04 o'clock

Member: Berrnd
Berrnd May 28, 2010 at 18:09:27 (UTC)
Goto Top
Hi,

sowas würde ich mit einem kleinen Makro machen, hier mal ein Beispiel:
(Ich geh mal davon aus, dass du mit "farblicher Beschriftung" eine Kategorie meinst?)
Option Explicit

Dim OutlookApp As Outlook.Application
Dim Postfach As Outlook.Namespace
Dim Kalender As Outlook.Folder
Dim Termin As Outlook.AppointmentItem

Set OutlookApp = CreateObject("Outlook.Application")  
Set Postfach = OutlookApp.GetNamespace("MAPI")  
Set Kalender = Postfach.GetDefaultFolder(olFolderCalendar)

For Each Termin In Kalender.Items
	If Not InStr(Termin.Categories, "Deine Kategorie") = 0  
		Termin.Sensitivity = olPrivate
	End If
Next
Gruß
Bernd
Member: nube-li
nube-li May 31, 2010 at 05:47:11 (UTC)
Goto Top
Hallo Bernd

Danke für deine Antwort.

Natürlich hast du recht, mit der farblichen Beschriftung meine ich eine Kategorie.

Wenn ich dein Code in ein Macro einfüge, erhalte ich bei der Zeile

If Not InStr(Termin.Categories, "Geburtstag") = 0       

folgende Fehlermeldung:
Fehelr beim Kompilieren:
Erwartet: Then oder GoTo

Kannst du mir weiterhelfen?

Gruss
Member: Berrnd
Berrnd May 31, 2010 at 08:00:55 (UTC)
Goto Top
Hi,

oh...da hab ich wohl ein "Then" vergessen ;).
Die Zeile muss dann also lauten:
If Not InStr(Termin.Categories, "Geburtstag") = 0 Then  
Gruß
Bernd
Member: nube-li
nube-li May 31, 2010 at 08:14:57 (UTC)
Goto Top
Hallo Bernd

Nochmals danke.. hätte man eigentlich selbst drauf kommen können, jedoch fehlen wir jegliche Grundlagen der Programmierung face-smile

Ich habe das Macro nun im Outlook erstellt und einmal ausgeführt.
Jedoch kommt dann folgende Fehlermeldung: "Fehler beim Kompilieren: Ausserhalb einer Prozedur ungültig"
Der Debugger markiert folgendes Wort/Zeile
Set OutlookApp = CreateObject("Outlook.Application")

hast du irgendeine Vermutug an was das liegen könnte?

Gruss
Member: Berrnd
Berrnd May 31, 2010 at 12:23:38 (UTC)
Goto Top
Hi,

ok, du musst das ganze natürlich noch in eine Prozedur packen, das Ganze sieht dann so aus:
Option Explicit

Sub TermineAufPrivatSetzen
   Dim OutlookApp As Outlook.Application
   Dim Postfach As Outlook.Namespace
   Dim Kalender As Outlook.Folder
   Dim Termin As Outlook.AppointmentItem

   Set OutlookApp = CreateObject("Outlook.Application")  
   Set Postfach = OutlookApp.GetNamespace("MAPI")  
   Set Kalender = Postfach.GetDefaultFolder(olFolderCalendar)

   For Each Termin In Kalender.Items
	   If Not InStr(Termin.Categories, "Deine Kategorie") = 0 Then  
		   Termin.Sensitivity = olPrivate
	   End If
   Next
End Sub
Gruß
Bernd
Member: nube-li
nube-li May 31, 2010 at 15:39:17 (UTC)
Goto Top
Hallo Bernd

Langsam ist es mir schon peinlich, aber wer dazu lernen will muss fragen.

Wenn ichs so laufen lasse erhalte ich bei der zeile

 Dim Kalender As Outlook.Folder

die Fehlermeldung: Fehler beim Komplieren: Benutzerdefinierter Typ nicht definiert.

Markiert wird eigentlich der teil hier: Kalender As Outlook.Folder

vielleicht hast du ja noch eine Idee. mit google bin ich leider nicht schlauer geworden face-sad

Gruss
Member: Berrnd
Berrnd May 31, 2010 at 17:17:31 (UTC)
Goto Top
Hi,

also bei mir Läufts so ohne Probleme durch.
Versuch mal das Outlook wegzulassen als nur "Dim Kalender As Folder"

Am Besten schaust du dir dazu mal die Objektbibliothek an (einfach F2 drücken).

Gruß
Bernd