I am using VS2008, C# , vsto 3.0
or is there is any other way to link the meeting item to the parent appointment item saved in a custom calendar??? :(
Thanking you in advance
jaz
In Outlook 2007 you can just use the AppointmentItem.GlobalAppointmentID
property.
In earlier versions you'd need to use a lower level API to get at that
property. Since neither Extended MAPI nor CDO 1.21 are supported for managed
code you'd need to use an alternative such as Redemption
(www.dimastr.com/redemption). Then you could use the property tag
"http://schemas.microsoft.com/mapi/id/{6ED8DA90-450B-101B-98DA-00AA003F1305}/00030102"
in DASL syntax to get at that property.
--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm
"jazeel" <jaze...@gmail.com> wrote in message
news:ODRwu9F%23IHA...@TK2MSFTNGP02.phx.gbl...
I am working on a similar project which needs to work with Outlook 2003 and
2007.
I save EntryID an GlobalAppointmentID in my database. In outlook 2007
everything works fine but not in Outlook 2003 using Interop .I could somehow
figure out reading GlobalAppointmentID using redemption but can not figure
out how to assign GlobalAppointmentID when creating a new Appointment message.
Here is my source code.Can you show me a practical sample or what I do wrong
here?
I appreciate that.
//////////////////////////code///////////////////
public void CreateMeetingUsingRedemption(string toEmail, string
subject, string location, string body, DateTime startDate, DateTime endDate,
bool allDay, bool requestResponses)
{
Outlook.Application objOL = new Outlook.Application();
rdmObjAppt =
(Outlook.AppointmentItem)objOL.CreateItem(Outlook.OlItemType.olAppointmentItem);
Redemption.RDOStore rdmStore;
Redemption.RDOFolder rdmFolder;
Redemption.RDOItems colItems;
Redemption.RDOMail rdmMail;
Redemption.RDOAppointmentItem rdmApp;
Redemption.RDOSession rdmSession;
Redemption.MAPIUtils rdmUtils;
Redemption.MAPITable rdmTable;
Redemption.TableFilter rdmFilter;
Redemption.RestrictionContent rdmRestr;
rdmSession = new Redemption.RDOSession();
rdmSession.MAPIOBJECT = rdmObjAppt.Session.MAPIOBJECT;
rdmFolder =
rdmSession.GetDefaultFolder(Redemption.rdoDefaultFolders.olFolderCalendar);
colItems = rdmFolder.Items;
rdmApp = new Redemption.RDOAppointmentItem();//should be
something wrong here?!
_globalAppointmentID = rdmApp.GlobalAppointmentID;
_entryID = rdmApp.EntryID;
rdmApp.Start = startDate;
rdmApp.End = endDate;
rdmApp.Subject = subject;
rdmApp.Location = location;
rdmApp.Body = body;
rdmApp.MeetingStatus = Redemption.rdoMeetingStatus.olMeeting;
rdmApp.RequiredAttendees = toEmail;
rdmApp.AllDayEvent = allDay;
rdmApp.ResponseRequested = requestResponses;
rdmApp.Save();
}
///////////////////////////////////////////////////
You can create an Outlook.AppointmentItem, save it, then get the EntryID to
retrieve it using the RDOSession.GetMessageFromID() method. That way the
global object id will have been created already for you.
An alternative would be to get the RDOFolder where you want the item to be
located, get the RDOItems collection for that folder and then use the
RDOItems.Add() method to create the new item. It would be created as
RDOMail, which you'd then cast to an RDOAppointmentItem object.
--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm
"Dave" <Da...@discussions.microsoft.com> wrote in message
news:F4D17F35-8075-403E...@microsoft.com...