Einzelnen Beitrag anzeigen

Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Outlook Termin löschen

  Alt 28. Mär 2013, 10:13
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;
  Mit Zitat antworten Zitat