Entwickler-Ecke
Windows API - [Gelöst]Outlook Kategorien auflisten/verändern/löschen
MartelKombatADH - Mi 27.08.14 11:33
Titel: [Gelöst]Outlook Kategorien auflisten/verändern/löschen
Ich versuche gerade die Outlook Kategorien aufzulisten usw. siehe Titel
Ich kann die Besteheneden Kategorien auch z.B. einem Termin zuweisen, eine neue Kategorie anlegen inklusive Farbe.
Was ich nicht kann ist überprüfen ob es eine Kategorie schon gibt bevor ich sie anlege (Habe einen C#-Code gefunden, kann ihn aber nicht in Delphi übersetzen).
C#-Quelltext
1: 2: 3: 4: 5: 6:
| myNamespace = outLookApp.GetNamespace("MAPI"); if (myNamespace.Categories["liveMeeting"] == null) { myNamespace.Categories.Add("liveMeeting", OlCategoryColor.olCategoryColorDarkRed, OlCategoryShortcutKey.olCategoryShortcutKeyNone); } newEvent.Categories = "liveMeeting"; |
Mein Code
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| Outlook := CreateOLEObject('Outlook.Application'); NameSpace := Outlook.GetNameSpace('MAPI');
memLog.Lines.Add(DateTimeToStr(Now) + ': GetDefaultFolder'); Ordner := NameSpace.GetDefaultFolder(olFolderCalendar);
if NameSpace.Categories['Bla'] = '' then begin NameSpace.Categories.Add('Bla', 15); end; |
Fehler: Unzulässige Parameteranzahl
EDIT1: Hate mein Thema noch nicht fertiggeschrieben
EDIT2: ich arbeite mit Delhpi 5
platzwart - Mi 27.08.14 12:48
Und wo genau tritt der Fehler auf?!?
baumina - Mi 27.08.14 13:03
Naja, also wenn hier hier mal nachzähl :
C#-Quelltext
1: 2: 3: 4:
| myNamespace.Categories.Add( "liveMeeting", OlCategoryColor.olCategoryColorDarkRed, OlCategoryShortcutKey.olCategoryShortcutKeyNone); |
und dann hier nachzähle:
Delphi-Quelltext
1: 2: 3:
| NameSpace.Categories.Add( 'Bla', 15); |
würde ich sagen dass der Fehler hier auftritt.
MartelKombatADH - Mi 27.08.14 13:27
baumina hat folgendes geschrieben : |
Naja, also wenn hier hier mal nachzähl :
C#-Quelltext 1: 2: 3: 4:
| myNamespace.Categories.Add( "liveMeeting", OlCategoryColor.olCategoryColorDarkRed, OlCategoryShortcutKey.olCategoryShortcutKeyNone); |
und dann hier nachzähle:
Delphi-Quelltext 1: 2: 3:
| NameSpace.Categories.Add( 'Bla', 15); |
würde ich sagen dass der Fehler hier auftritt. |
Naja das ist es leider nicht... Erstellen kann ich meine Kategorie ja(auserhalb der if-Abfrage), der letzte Parameter ist nicht notwendig
und 15 meint die Farbe schwarz
http://msdn.microsoft.com/de-de/library/office/ff860420%28v=office.15%29.aspx
Ich glaube das es die Klammern sind. Da weiß ich nicht mehr weiter.
Habe hier auch einen Link mit Code um die ganzen Kategorien aufzulisten. blos weiß ich nicht wie ich es in Delphi realiesiere.
http://msdn.microsoft.com/en-us/library/office/ff863110%28v=office.15%29.aspx
Da macht mir die foreach Probleme. Ich weiß nicht welchen Variablen-Typ ich benutzen soll/kann (OleVariant schon versucht).
MartelKombatADH - Mi 27.08.14 14:33
Ich habe es jetzt geschaft (nach 2 tagen suchen :evil: :oops: ) meine Kategorien "aufzulisten"
Eine Änliche Variante hatte ich auch mal versucht
Delphi-Quelltext
1: 2: 3: 4: 5:
| for ii := 1 to NameSpace.Categories.Count -1 do begin if String(NameSpace.Categories.Item(ii)) <> 'Bla' then begin ShowMessage(NameSpace.Categories.Item(ii)); end; end; |
Ich hatte dort aber immer mit Eckigen-Klammern gearbeitet... Man kann statt dem Integer wert in der Klammer auch den gesuchten Namen eintragen.
baumina - Mi 27.08.14 14:37
Hast du es mal so probiert?
Delphi-Quelltext
1:
| if NameSpace.Categories['Bla'] = null then begin |
MartelKombatADH - Mi 27.08.14 15:01
baumina hat folgendes geschrieben : |
Hast du es mal so probiert?
Delphi-Quelltext 1:
| if NameSpace.Categories['Bla'] = null then begin | |
ja aber mit nil, was ja nicht funktioniert.
Wie bei meinem letzten Post zu sehen, geht das ja dan so.
Delphi-Quelltext
1: 2: 3:
| if String(NameSpace.Categories.Item('Bla')) = '' then begin ... end; |
baumina - Mi 27.08.14 15:04
Versuchs mit "null" (aus Unit Variants) nicht mit "Nil"
EDIT : Achso, es geht jetzt also so wie du es wolltest?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!