Sziasztok!
Szeretnék futásidőben létre az OutLook-ban egy Címjegyzéket létrehozni.
Sajnos elég kevés anyagot találtam a netet böngészve, de találtam egy jónak látszó kódot. Viszon mégsem tudtam működésre bírni.
Op.rendszer: Windows 8.1, vagy Windows 7
Lazarus a legújabb verzió.
Íme a kód:
uses ComObj...
procedure AddAddressInDistributionList;
var
myOlApp, myNameSpace, myContact, myDistList, myMailItem, myRecipients : OleVariant;
begin
// Connect to outlook
try
myOlApp := GetActiveOleObject('Outlook.Application');
except
myOlApp := CreateOleObject('Outlook.Application');
end;
myNameSpace:=myOlApp.GetNameSpace('MAPI');
//Create the new Contact
myContact:=myOlApp.CreateItem(olContactItem);
myContact.FullName:='New Name';
myContact.Email1Address:='Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.';
myContact.Save;
{
.FirstName:='Delphi';
.LastName:='Lover';
.MobileTelephoneNumber:='123456');
.HomeAddressStreet:='Delphi Lane 9';
.HomeAddressCity:='Amsterdam';
.HomeAddressState:='NL';
.HomeAddressPostalCode:='1968';
.Categories:='Business,Personal';
//More field availble!!
myContact.Display;
}
//Create the Distribution List item
//olDistributionListItem = 7;
//this constant is not in my Outlook API...
myDistList:=myOlApp.CreateItem(7);
myDistList.DLName:='Test Distribution List';
//The MailItem is required to
//create the Recipients collection
myMailItem:=myOlApp.CreateItem(olMailItem);
myRecipients:=myMailItem.Recipients;
//A Contact with the following e-mail address
//must exist for the AddMembers method to work
myRecipients.Add('Ez az e-mail-cím a szpemrobotok elleni védelem alatt áll. Megtekintéséhez engedélyeznie kell a JavaScript használatát.');
myRecipients.ResolveAll;
myDistList.AddMembers(myRecipients);
myDistList.Save;
//myDistList.Display;
myContact.Delete;
myOlApp := Unassigned;
end;
A hiba üzenet itt érkezik: olContactItem.
Bármilyen jó ötletnek örülnék.
Üdv mindenkinek.