Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Outlook Termin löschen (https://www.delphipraxis.net/173997-outlook-termin-loeschen.html)

Majestix 27. Mär 2013 14:52

Outlook Termin löschen
 
Moin allerseits,

hat jemand einen Tip, wie ich einen (selbst eingestellten) Termin im Outlook-Kalender wieder löschen kann ?
Datum, Uhrzeit etc. ist alles bekannt.

Schönen Gruß

baumina 28. Mär 2013 10:13

AW: Outlook Termin löschen
 
Also ich hab das so gelöst, vielleicht hilfts dir ja :

Delphi-Quellcode:
const
  olFolderCalendar  = $00000009;
  olImportanceLow   = 0;
  olImportanceNormal = 1;
  olImportanceHigh  = 2;
  olNormal          = 0;
  olPrivate         = 2;

var
  outlook, NameSpace, Kalender: OleVariant;
  myRecipient : OleVariant;
  Appt: OleVariant;
  qrFolder : TDataset;
  FolderName : String;

begin
  try
    Outlook := CreateOleObject('Outlook.Application');
  except
    MessageDlg('Outlook konnte nicht initialisiert werden.', mtError, [mbOK], 0);
    Exit;
  end;

  try
    NameSpace := Outlook.GetNameSpace('MAPI');
  except
    MessageDlg('MAPI für Outlook konnte nicht initialisiert werden.', mtError, [mbOK], 0);
    Outlook := Unassigned;
    Exit;
  end;

  myRecipient := NameSpace.CreateRecipient(FolderName); // Name des freigegebenen Ordners
  try
    Kalender := NameSpace.GetSharedDefaultFolder(myRecipient, olFolderCalendar);
  except
    MessageDlg('Kein Zugriff auf den Termin Outlook-Ordner "' + FolderName + '".', mtError, [mbOK], 0);
    Outlook := Unassigned;
    Exit;
  end;

  // [url]http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.appointmentitem_members.aspx[/url]
  try
    Appt := Kalender.Items.Find('[BillingInformation] = "SFID=' + IntToStr(aTerminID)+ '"');
// dieses Feld verwende ich um den Termin anhand meiner ID zu finden
    Appt.Delete;
  except
    on e: Exception do
    begin
      MessageDlg('Der Termin konnte nicht im Outlook gelöscht werden.' + #13 + e.Message, mtError, [mbOK], 0);
    end;
  end;

  Outlook := Unassigned;

Majestix 11. Apr 2013 15:03

AW: Outlook Termin löschen
 
Komme leider erst jetzt wieder hierzu ... sorry.

Baumina ... so wirklich klar war mir Deine Lösung nicht (aTerminID ?) ... aber der items.find war der entscheidende Hinweis.
Damit finde ich alles mögliche aber merkwürdigerweise nicht den START.
Ich trickse jetzt etwas rum ... ich schreibe den START-Wert(Datum und Uhrzeit) auch in BillingsInformation und DEN kann ich dann später zum Löschen einwandfrei finden.
Funktioniert super ... Problem gelöst.

Vielen Dank.

Union 11. Apr 2013 21:57

AW: Outlook Termin löschen
 
Du musst so suchen:
Delphi-Quellcode:
Filter := '[Start]=''03/20/2013 11:45am''';
Termin := Termine.Items.Find(Filter);


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz