Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003 (https://www.delphipraxis.net/173590-fehlermeldung-beim-zugriff-auf-die-outlook-kontakte-unter-outlook-2003-a.html)

Bolt Thrower 6. Mär 2013 09:31

Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003
 
Hallo zusammen,

in der Hoffnung, dass der ein oder andere von Euch vielleicht eine Idee hat, wende ich mich mit dem folgenden Problem an Euch:

Für mein Programm lese ich in einer Funktion die Outlook-Kontakte aus, was im Normalfall auch immer korrekt funktioniert.
Code:
fOutlook := CreateOleObject('Outlook.Application');
fNameSpace := fOutlook.GetNameSpace('MAPI');

Contacts := fNameSpace.GetDefaultFolder(olFolderContacts);
for iLoop := 1 to Contacts.Items.Count do begin
  Contact := Contacts.Items.Item[iLoop];
  Result := Contact.Business2TelephoneNumber;
end;
Bei einem Anwender, der "Outlook 2003" unter "Windows XP" verwendet, erscheint allerdings immer die Fehlermeldung:

"Die Methode 'Business2TelephoneNumber' wird vom Automatisierungsobjekt nicht unterstützt."

Woran könnte das liegen? Wenn ich Delphi richtig verstehe, dann wird "Contact" noch richtig gesetzt, die Methode wird allerdings nicht gefunden? Bei anderen Methoden wie z.B. 'CompanyName' erhalte ich die gleiche Fehlermeldung, es liegt also nicht zwingend an 'Business2TelephoneNumber'. Kurioserweise funktioniert das Programm bei mir in der Kombination "Outlook 2003"/"Windows XP" korrekt.

Für jegliche Anregung vielen Dank im Voraus und Grüße,

Bolt Thrower

Jumpy 6. Mär 2013 11:07

AW: Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003
 
Schon mal direkt in Outlook in VBA versucht?

Welche Version klappt den und welche nicht? Du hast dich da glaub ich verschrieben.

Bolt Thrower 6. Mär 2013 12:10

AW: Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003
 
Hallo Jumpy,

danke für Deine Rückmeldung!

Es ist tatsächlich so, dass die Kombination "Outlook 2003"/"Windows XP" bei mir funktioniert, die gleiche Kombination (auch "Outlook 2003"/"Windows XP") beim Anwender leider den Fehler ausgibt. Daher dachte ich auch schon, dass vielleicht eine Änderung in der Konfiguration von "Outlook 2003" für den Fehler verantwortlich ist (z.B. anderer Ordner für die Kontakte - da verwendet der Anwender allerdings auch den Standard-Ordner "Kontakte").

Grüße, Bolt Thrower

Crowbar 9. Okt 2014 10:23

AW: Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003
 
Hallo,
ich "pushe" dieses Thema noch einmal hoch, da es hierfür keine Lösung gab und nun bei mir genauso diese Fehlermeldung erscheint (Die Methode "CompanyName" wird vom Automatisierungsobjekt nicht unterstützt.).
Genauer gesagt kommt diese Meldung nicht bei mir, sondern bei einem Anwender.
Obwohl auch ich W7 und Outlook 2007 verwende, läuft bei mir die Procedure erfolgreich durch.
Delphi-Quellcode:
...
Const
 olFolderContacts = $0000000A;

Var
 Outlook         : OleVariant;
 ContactFolder   : OleVariant;
 ListContact     : OleVariant;
 NameSpace       : OleVariant;
 i               : Integer;

begin
  NameSpace:=Outlook.GetNameSpace('MAPI');
  ContactFolder:=NameSpace.GetDefaultFolder(olFolderContacts);
   _StrList.Clear;
   for i:=1 to ContactFolder.Items.Count do
    begin
      ListContact:=ContactFolder.Items.Item(i);
      _StrList.Add(ListContact.CompanyName);                            
      _StrList.Add(Trim(ListContact.FirstName+' '+ListContact.LastName));
      _StrList.Add(ListContact.BusinessAddressStreet);
    ...
    end;
   ...
end;
...
Gibt es dafür eine Lösung oder vielleicht besser, kann man die Adressbuchdaten von Outlook über einen anderen Weg (außer über OLE) exportieren bzw. importieren?

Grüße

EgonHugeist 9. Okt 2014 11:28

AW: Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003
 
Liste der Anhänge anzeigen (Anzahl: 2)
Da gab es mal ein Project von TurboPower...

Vor Jahren habe ich mal damit herum gespielt und ein par Features eingebaut. Hab's ne wieder in der Hand gehabt.

Kannst ja mal reinschauen. Soweit ich mich erinnere hatte ich diverse Dialoge von Outlook selber (e.g. Neue Kontakte etc.) mit reingabaut. Auch konnte ich den BussinesContact-Manager auslesen die Kontakte bearbeiten.

Ich habe nur ein Office2007, somit konnte ich die Software nur bis dahin aufbohren.

Keine Garantie oder sowas nur wenns dich interessiert... Hatte nicht alles hinbekommen, soweit ich mich erinnere fehlten Datums-Felder und Bilder.

Gruß Michael

Crowbar 9. Okt 2014 11:44

AW: Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003
 
Danke Michael,

ich werde mir mal Deinen Code anschauen, ev. anpassen und es damit ausprobieren.

Gruß

EgonHugeist 9. Okt 2014 13:12

AW: Fehlermeldung beim Zugriff auf die Outlook-Kontakte unter Outlook 2003
 
Zitat:

Zitat von Crowbar (Beitrag 1275388)
Danke Michael,

ich werde mir mal Deinen Code anschauen, ev. anpassen und es damit ausprobieren.

Gruß

Nee du, nicht mein Code. Der originale Code ist vom "TurboPower - OfficePartner" Projekt. Ich habe nur ein paar Erweiterungen reingefummelt und diese auch so mit "EgonHugeist" getagt. Nicht, weil ich es liebe meinen Namen da zu finden, sondern weil ich laut den Mozilla Lizensen dazu verpflichtet war..

Ist lange Zeit her... Ob's verwendbar ist oder nicht mußt du entscheiden. Deine Fragen jedoch, sollte der Code vollständig beantworten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 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