问题
I am using jacob library. Using jacob library and following this tutorial i am able to add a contact in outlook. Now i want to delete and update that contact using jacob. i want to know is there any way to delete the outlook contact using jacob.
I am using this code to add contact in outlook. here email id is unique id.
ActiveXComponent axOutlook = new ActiveXComponent("Outlook.Application");
Dispatch oOutlook = axOutlook.getObject();
Dispatch createContact = Dispatch.call((Dispatch)oOutlook, "CreateItem", new Variant(2)).toDispatch();
Dispatch.put(createContact,"LastName",cont.getLastName());
Dispatch.put(createContact,"FirstName",cont.getFirstName());
Dispatch.put(createContact,"Title",cont.getTitle());
Dispatch.put(createContact,"Email1Address",cont.getPrimaryEmail());
Dispatch.call(createContact, "Save");
回答1:
JACOB is a very thin wrapper around COM IDispatch calls, so if you want to know how to do any particular task in Outlook the starting point would be the official Outlook Object Model documentation
Your particular case, locating and deleting a contact, is performed through
namespace = outlookApplication.GetNamespace("MAPI")
contactsFolder = namespace.GetDefaultFolder(olFolderContacts)
contact = contactsFolder.items.find( "[Email1Address] = 'mail@server.com' )
if (contact != null)
{
contact.Delete
}
The second half of the work is translating these calls to JACOB-speak. Assuming you have located your contact item, the code would be something like
ActiveXComponent outlookApplication = new ActiveXComponent("Outlook.Application");
Dispatch namespace = outlookApplication.getProperty("Session").toDispatch();
Dispatch contactsFolder = Dispatch.call(namespace, "GetDefaultFolder", new Integer(10)).toDispatch();
Dispatch contactItems = Dispatch.get(contactsFolder, "items");
String filter = String.format("[Email1Address] = '%s'", cont.getPrimaryEmail());
Dispatch contact = Dispatch.call(contactItems, "find", filter);
if (contact != null)
{
Dispatch.call(contactItem, "Delete");
}
来源:https://stackoverflow.com/questions/17361340/delete-and-update-outlook-contact-using-jacob-library