Einzelnen Beitrag anzeigen

Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#1

Outlook.Application Inspectors iterieren C# -> Delphi

  Alt 8. Jan 2018, 09:43
Moin,

könnt mich mal jemand in die richtige Richtung treten? Ich versuche durch die geöffneten Mails von Outlook iterieren
und bei einer bestimmten Mail einen Anhang hinzuzufügen.

In C# kriege ich das wie folgt zum Laufen:
Code:
using O = Microsoft.Office.Interop.Outlook;

O.Application app = new O.Application();
O.MailItem mail = null;

for (int i = 0; i < app.Inspectors.Count; i++)
{
   if (app.Inspectors[i + 1].Caption.Contains("Bestellung "))
   {
       mail = app.Inspectors[i + 1].CurrentItem;
       Console.WriteLine(mail.Subject);
   }
}

if (mail != null)
{
   mail.Attachments.Add(outFile);
}
Analog dazu in Delphi dachte ich mir dann folgendes:

Delphi-Quellcode:
var
  Inspector,
  Outlook,
  Mail: Variant;

  Outlook := GetActiveOleObject('Outlook.Application');
  for i := 0 to Outlook.Inspectors.Count - 1 do
  begin
    Inspector := Outlook.Inspectors[i + 1]; // Error: Unzulässige Parameteranzahl
    if Inspector.Caption.Contains('Bestellung') then
    begin
      mail := Outlook.Inspectors[i + 1].CurrentItem;
    end;
  end;

  mail.Attachments.Add(Anhang);
Nuja ich schätze mal, irgendwas fehlt, damit Delphi erkennt was Outlook.Inspectors für ein CollectionObject ist um es auch abfragen zu können.
Aus dem MSDN Artikel werde ich aber nicht sonderlich schlau.
Thomas
  Mit Zitat antworten Zitat