Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RECUP LES ADRESSES OUTLOOK


Information sur la source

Catégorie :Control Niveau : Débutant Date de création : 28/08/2003 Date de mise à jour : 28/08/2003 13:59:35 Vu : 14 588

Note :
Aucune note

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

Voilà une petite source qui permet de récupérer les adresses du carnet d'adresse outlook.

Je me suis inspiré de la source visual basic :
http://www.vbfrance.com/article.aspx?ID=3487
La source en basic montre aussi comment modifier le carnet en utilisant la dll MAPI32.DLL. Mais pour simplement récupérer les données y'a même pas besoin de dll comme vous pouvez voir la source plus bas.

Les bugs : j'ai Outlook Express 6 et Outlook de Office 2000. J'utilise que celui du 6 et pourtant, mon code ne me révèle que celui de Office 2000 (qui a été installé plus tard). C'est con donc... je vais voir si je peux corriger ça.

Mais où est-ce qu'elles se cachent ces d'adresses de {'@^=` !! Pourquoi ne pas les lire directement... ce serai quand même plus simple :p Si vous avez une idée faites le savoir, sinon j'me tape le debuggage de mon log

   aller a+ Twis
 

Source

  • {
  • ' Ecrit par TheWhiteShadow
  • '
  • ' Repris d'une source visual basic :
  • ' http://www.vbfrance.com/article.aspx?ID=3487
  • '
  • ' Je ne serai pas tenu responsable
  • ' de vos agissements avec ce code...
  • }
  • unit Unit1;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, ComObj, Grids, ValEdit;
  • type
  • TForm1 = class(TForm)
  • ValueListEditor1: TValueListEditor;
  • procedure FormCreate(Sender: TObject);
  • private
  • { Déclarations privées }
  • public
  • { Déclarations publiques }
  • end;
  • var
  • Form1: TForm1;
  • implementation
  • {$R *.dfm}
  • procedure TForm1.FormCreate(Sender: TObject);
  • var
  • obj: OleVariant;
  • i, j: integer;
  • begin
  • try
  • obj := CreateOleObject('outlook.application');
  • obj := obj.GetNameSpace('MAPI');
  • for i := 1 to obj.AddressLists.Count do
  • for j := 1 to obj.AddressLists(i).AddressEntries.Count do
  • ValueListEditor1.InsertRow(obj.AddressLists(i).AddressEntries(j).Name, obj.AddressLists(i).AddressEntries(j).Address, false);
  • except
  • end;
  • end;
  • end.
{
' Ecrit par TheWhiteShadow
'
' Repris d'une source visual basic :
' http://www.vbfrance.com/article.aspx?ID=3487
'
' Je ne serai pas tenu responsable
' de vos agissements avec ce code...
}

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComObj, Grids, ValEdit;

type
  TForm1 = class(TForm)
    ValueListEditor1: TValueListEditor;
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  obj: OleVariant;
  i, j: integer;
begin
  try
    obj := CreateOleObject('outlook.application');
    obj := obj.GetNameSpace('MAPI');
    for i := 1 to obj.AddressLists.Count do
      for j := 1 to obj.AddressLists(i).AddressEntries.Count do
        ValueListEditor1.InsertRow(obj.AddressLists(i).AddressEntries(j).Name, obj.AddressLists(i).AddressEntries(j).Address, false);
  except
  end;
end;

end.

Conclusion

Cette source ne doit pas servir à faire un virus, capish ?
 

Commentaires et avis

signaler à un administrateur
Commentaire de TheWhiteShadow le 31/08/2003 17:04:39

eyey j'ai trouvé où sont stockées les adresses :
C:WINDOWSApplication DataMicrosoftAddress Book dans les fichiers *.wab en Unicode... en trouvant une méthode efficace d'extraction, on peut récupérer toutes les adresses en mémoire, de msn etc...

au fait l'adresse est indiquée par la clé reg :
[HKEY_CURRENT_USERSoftwareMicrosoftWABWAB4Wab File Name]

voilà...

signaler à un administrateur
Commentaire de TheWhiteShadow le 31/08/2003 17:11:27

merde les slash sont pas passés... voilà dans l'autre sens :)

eyey j'ai trouvé où sont stockées les adresses :
C:/WINDOWS/Application Data/Microsoft/Address Book/ dans les fichiers *.wab en Unicode... en trouvant une méthode efficace d'extraction, on peut récupérer toutes les adresses en mémoire, de msn etc...

au fait l'adresse est indiquée par la clé reg :
[HKEY_CURRENT_USER/Software/Microsoft/WAB/WAB4/Wab File Name]

signaler à un administrateur
Commentaire de hackoustik le 13/10/2003 08:39:22

hello
jai utilisé ton code pour les contacts outlook que jai mis en DLL pour mon scirpt mIRC, mais mon soucis cest que jai une fenetre qui souvre demandant si je veut donner ces donnés, car cela pourrait venir dun virus,
je précise que jai enlever la partie dialog, car jai besoin que tout soit automatisé, jai fait en sorte quil lise et enregistre dasn un fichier texte les donnés,
je ne connait pas delphi, jai un peu programmer en pascal ya longtemps (turbo pascal 4) lolll c pour dire, regarde le code que jai fait, si tu peu me dire squi va pas la dedans, car sa marchesauf que sa enregistre rien, mé g pas derreurs:

function ContactsOutlook(mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean):Integer;export;stdcall;
var
fichier : textfile;
     obj: OleVariant;
    i, j: integer;
begin
    AssignFile(fichier,'contacts.txt');
    Rewrite(fichier);
    try
    obj := CreateOleObject('outlook.application');
    obj := obj.GetNameSpace('MAPI');
    for i := 1 to obj.AddressLists.Count do
        for j := 1 to obj.AddressLists(i).AddressEntries.Count do
        write(fichier, string(obj.AddressLists(i).AddressEntries(j).Address) + string(obj.AddressLists(i).AddressEntries(j).Name));
    except
    end;
    closeFile(fichier);
    result:=2;
end;

passe une bonne journée ;)

signaler à un administrateur
Commentaire de LaurentLDS le 20/11/2003 10:37:39

Salut,

ton code ne fonction qu'avec Outlook 2000 pr la simple raison que tu utilises l'OLE Automation pr avoir acces a l'Address Book de Outlook, et cette methode de controle ne fonctionne pas avec OE!.

ciao

signaler à un administrateur
Commentaire de bigbalaise le 09/07/2007 21:59:59

j'utilise ce code pour lister mes contacts. le code ne fonctionne pas  quand il y a une liste de diffusion. on obtient un message d'erreur du type "la methode lastname n'est pas pris en charge par l'objet automation". le pb se pose avec delphi 6 et 7 en utilisant outlook 2003.  

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Appels d'offres



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.