Pegar contatos do outlook

29/06/2008

2

Olá,

Pequei a dica abaixo e tentei usar mas deu erro de ´SEQUENCIA DE CLASSE INVALIDA´ apontando para a ultima linha: ListBox1.Items := list;
Onde está o erro? Obrigado.

Colocar na uses: ComObj
...
{ Private declarations }
public
{ Public declarations }
procedure GetContactsOutlook(var ListContact: TStrings);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

{ TForm1 }

procedure TForm1.GetContactsOutlook(var ListContact: TStrings);
const
olFolderContacts = $0000000A;

var
outlook: OleVariant;
NameSpace: OleVariant;
Contacts: OleVariant;
Contact: OleVariant;
iLoopFor: Integer;

begin

{ *** }
outlook := CreateOleObject(´Outlook.Application´);

{ *** }
NameSpace := outlook.GetNameSpace(´MAPI´);

{ *** }
Contacts := NameSpace.GetDefaultFolder( olFolderContacts );

{ *** }
ListContact := TStringList.Create;

for iLoopFor := 1 to Contacts.Items.Count do
begin
Contact := Contacts.Items.Item(iLoopFor);
{agora podemos ler qualquer propriedade do contato.
Por exemplo, nome completo e endereço eletrônico}
ListContact.Add( Contact.FullName + ´ <´ +
Contact.Email1Address + ´> ´ );
end;

{ Finalizamos }
Outlook := UnAssigned;

end;

Para testar, adicione no seu form um um ListBox e um Button. No onclick do button, faça:
var
list: TStrings;
begin
GetContactsOutlook(list);
ListBox1.Items := list; //nessa linha deu o erro
end;



Luiz


Responder

Posts

30/06/2008

Onjahyr

Acessa este link abaixo, prontinho na tua mão!

http://www.ramosdainformatica.com.br/art_recentes01.php?CDA=390


Responder

01/07/2008

L_carlos

Vlw Enjayr. Vou dar uma olhada no link.

Luiz


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira