• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 948
  • Last Modified:

How to switch off "propose new Time" on a Meeting with CDO?

Hello
Does anybody know how to programatically switch off the button 'propose new
time' on a meeting request?
On the Menu 'Action' is a option 'Allow new time Proposals'. Also in Outlook
under Options/Calendar.. is a button to generally switch off the 'propose
new time' button.
I could not find a way to switch it off on my own meeting request created via CDO.

To find this property I sent meetings with the same
User from different PC's. The recipient was both times the same.
On one machine I switched the "Allow new times proposal..." option off, and
on the other I switched it on. Well I got two meeting requests one with the
button and one with disabled (invisible) button.

With Outlookspy I found the Property which switches the Button on the
MeetingRequest ON/OFF:
It is:
PropertyTag : 0x8366 (|ID=0x825)
Type : PT_BOOLEAN
Value : true/false
Named Property:
Tag num : 0x8366000B
GUID: {00062002-0000-0000-C000-00000000}
Kind : MNID_ID
ID : 0x825A

Question:
How is it possible to see on which object this property is saved and change it with
CDO1.21?
This property must be saved somewhere in the profile and on the message.

I for example checked the Current User object, but this yields to nothing.
There are 34 properties but not a property 0x8366 or 0x825A.
Is the Conversion from 8366000B to -2090467317 correct? (see code below)
Any help really(!) welcome
Sepp

Code sample(c#):
AddressEntry rcpt_ae = (MAPI.AddressEntry)mapiSession.CurrentUser;
Field fld=null;
string str="";
int count = (int)(((Fields)rcpt_ae.Fields).Count);
int counter=0;
//check every field of the ddress entry of the recipient
for (int i = 1; i <= count; i++)
{
counter++;
//PropSetID4
//PropSet1 (must be converted see Q195656)
fld =
(Field)((Fields)rcpt_ae.Fields).get_Item(i,"0006200200000000C000000000000046
");
str=fld.ID.ToString();
if(fld.ID.ToString()=="-2108030965" || fld.ID.ToString()=="-2090467317")
{ //Test Property found
fld.Value = this.chkSMRProposeNewTime.Checked;
rcpt_ae.Update(true,true); //this is critical!!!! do not remove!
break;
}
}

P.S. If you VB Code it's ok too.
0
alesch
Asked:
alesch
  • 2
  • 2
1 Solution
 
shivsaCommented:
u can try to check this link for some clue/hints.

http://www.experts-exchange.com/Applications/MS_Office/Outlook/Q_20361332.html

also 8366000B convert decimal to 2204499979.
0
 
aleschAuthor Commented:
Thanks for your answer

At first sight I didn't get a hint. But surely intersting. Well, I know how to set a property, the trouble is, I havn't found a CDO object which contains this property (neither -2090467317 nor  2204499979. )

Where is it? On hidden Objects? Not accessible through CDO?

0
 
aleschAuthor Commented:
Hu,

Sometimes it's easy.....this works:

calendar = (Folder)mapiSession.SessionObject.GetDefaultFolderCdoDefaultFolderTypes.CdoDefaultFolderCalendar);
messages = (Messages)calendar.Messages;
msg = (AppointmentItem)messages.Add(Missing.Value, Missing.Value, Missing.Value, Missing.Value);
msg.ResponseRequested=false;  //supress Response requested.

@shivsa
If you agree, I ask for deleting this question since I found it by myself by checking out the CDO documentation.
0
 
shivsaCommented:
Sure.  Glad u got it working.

u can request for the delete.
0

Featured Post

Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now