Pegar contatos do outlook
29/06/2008
0
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
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
L_carlos
Curtir tópico
+ 0
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
http://www.ramosdainformatica.com.br/art_recentes01.php?CDA=390
Responder
Clique aqui para fazer login e interagir na Comunidade :)