![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
#1
|
|||
|
|||
![]()
How to differentiate between save and saveas a mail item. Item_Write call
for both cases and parameters for this function doesn't tell any difference between two. |
Ads |
#2
|
|||
|
|||
![]()
You'd most likely have to grab every single menu/toolbar entry that can
perform those commands and handle their Click events. For Outlook 2007 you'd have to do the same thing with the ribbon also. This would apply not only to the actions in Inspectors but also when the item is selected in an Explorer. -- 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 "Ashish" wrote in message ... How to differentiate between save and saveas a mail item. Item_Write call for both cases and parameters for this function doesn't tell any difference between two. |
#3
|
|||
|
|||
![]()
I tried to capture the event for menu click but could not make it. Is there
any example available. I tried those which are in outlookcode.com but not mentioned clearly "Ken Slovak - [MVP - Outlook]" wrote in message ... You'd most likely have to grab every single menu/toolbar entry that can perform those commands and handle their Click events. For Outlook 2007 you'd have to do the same thing with the ribbon also. This would apply not only to the actions in Inspectors but also when the item is selected in an Explorer. -- 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 "Ashish" wrote in message ... How to differentiate between save and saveas a mail item. Item_Write call for both cases and parameters for this function doesn't tell any difference between two. |
#4
|
|||
|
|||
![]()
Not a menu click event, but the actual CommandBarButton objects that are
accessed from the menus/toolbars. So you need to instantiate a button object, declared WithEvents for VB/VBA, representing say File,Save in the Inspector menus. Then the same for File, SaveAs. And so on for every possible way to perform those actions. You will need the id properties of the buttons to grab them. Those can be picked up from a tool like OutlookSpy. There are plenty of code samples for using CommandBars.FindControl, which is what you'd be using. It's up to you to find and grab all relevant CommandBarButton objects. -- 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 "Ashish" wrote in message ... I tried to capture the event for menu click but could not make it. Is there any example available. I tried those which are in outlookcode.com but not mentioned clearly |
#5
|
|||
|
|||
![]()
Thanks. Yes Now i can capture the SaveAs action.
When we click on SaveAs a new "SaveAs" dislog box appear. How to capture events for this "SaveAs" dislog box. Means on saveas dialog there are 2 buttons "Save" and "Cancel". I want to capture events when i click on these buttons. "Ken Slovak - [MVP - Outlook]" wrote in message ... Not a menu click event, but the actual CommandBarButton objects that are accessed from the menus/toolbars. So you need to instantiate a button object, declared WithEvents for VB/VBA, representing say File,Save in the Inspector menus. Then the same for File, SaveAs. And so on for every possible way to perform those actions. You will need the id properties of the buttons to grab them. Those can be picked up from a tool like OutlookSpy. There are plenty of code samples for using CommandBars.FindControl, which is what you'd be using. It's up to you to find and grab all relevant CommandBarButton objects. -- 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 "Ashish" wrote in message ... I tried to capture the event for menu click but could not make it. Is there any example available. I tried those which are in outlookcode.com but not mentioned clearly |
#6
|
|||
|
|||
![]()
There are no events you can capture from that dialog.
-- 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 "Ashish" wrote in message ... Thanks. Yes Now i can capture the SaveAs action. When we click on SaveAs a new "SaveAs" dislog box appear. How to capture events for this "SaveAs" dislog box. Means on saveas dialog there are 2 buttons "Save" and "Cancel". I want to capture events when i click on these buttons. |
#7
|
|||
|
|||
![]()
Oh thats strange. Ok i'll do this task by different way. How to delete a
custom property from mail item. Suppose i add a new field in mail item on exchange server and i want to delete this field in outlook addin. "urn:schemas:mailheader:X-MyField-Name" IMessagePtr msgptr; FieldsPtr Flds; Flds = msgptr-Fields; Flds-Item[ "urn:schemas:mailheader:X-MyField-Name" ]-Value = "field value" In outlook addin i can get this field and its value through HrGetOneProp(PR_TRANSPORT_MESSAGE_HEADERS.) If i want to delete this field then i think it's possible using HrSetOneProp .. But HrSetOneProp takes long value as property tag to set value for any property. I dont know the long value for urn:schemas:mailheader:X-MyField-Name. I used outspy/mfcmapi but it doesn't show that field. "Ken Slovak - [MVP - Outlook]" wrote in message ... There are no events you can capture from that dialog. -- 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 "Ashish" wrote in message ... Thanks. Yes Now i can capture the SaveAs action. When we click on SaveAs a new "SaveAs" dislog box appear. How to capture events for this "SaveAs" dislog box. Means on saveas dialog there are 2 buttons "Save" and "Cancel". I want to capture events when i click on these buttons. |
#8
|
|||
|
|||
![]()
Well, for one thing if an email is only within an Exchange organization that
property doesn't exist. Internal emails never have a PR_TRANSPORT_MESSAGE_HEADERS property. That property, when it does exist, is a text property (PT_STRING8) and there are no "subfields" in it. It's just a string. You can parse it using string functions and find that X-header and remove it using string functions. -- 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 "Ashish" wrote in message ... Oh thats strange. Ok i'll do this task by different way. How to delete a custom property from mail item. Suppose i add a new field in mail item on exchange server and i want to delete this field in outlook addin. "urn:schemas:mailheader:X-MyField-Name" IMessagePtr msgptr; FieldsPtr Flds; Flds = msgptr-Fields; Flds-Item[ "urn:schemas:mailheader:X-MyField-Name" ]-Value = "field value" In outlook addin i can get this field and its value through HrGetOneProp(PR_TRANSPORT_MESSAGE_HEADERS.) If i want to delete this field then i think it's possible using HrSetOneProp . But HrSetOneProp takes long value as property tag to set value for any property. I dont know the long value for urn:schemas:mailheader:X-MyField-Name. I used outspy/mfcmapi but it doesn't show that field. |
#9
|
|||
|
|||
![]()
Yes i did same. I get value for PR_TRANSPORT_MESSAGE_HEADERS and search
x_header when open item. Then get the value for x_header and remove it. It works successfully. But when i close item i get value for PR_TRANSPORT_MESSAGE_HEADERS and set the value of x_header which i delete.This i do because when i open mail next time x_header should be there. But this time the value is not set. I tried to set it in item_close/inspector_deactivate event but value is not set. While if i debug the program step by step the value is set. Please suggest from where i should set it when close the item. "Ken Slovak - [MVP - Outlook]" wrote in message ... Well, for one thing if an email is only within an Exchange organization that property doesn't exist. Internal emails never have a PR_TRANSPORT_MESSAGE_HEADERS property. That property, when it does exist, is a text property (PT_STRING8) and there are no "subfields" in it. It's just a string. You can parse it using string functions and find that X-header and remove it using string functions. -- 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 "Ashish" wrote in message ... Oh thats strange. Ok i'll do this task by different way. How to delete a custom property from mail item. Suppose i add a new field in mail item on exchange server and i want to delete this field in outlook addin. "urn:schemas:mailheader:X-MyField-Name" IMessagePtr msgptr; FieldsPtr Flds; Flds = msgptr-Fields; Flds-Item[ "urn:schemas:mailheader:X-MyField-Name" ]-Value = "field value" In outlook addin i can get this field and its value through HrGetOneProp(PR_TRANSPORT_MESSAGE_HEADERS.) If i want to delete this field then i think it's possible using HrSetOneProp . But HrSetOneProp takes long value as property tag to set value for any property. I dont know the long value for urn:schemas:mailheader:X-MyField-Name. I used outspy/mfcmapi but it doesn't show that field. |
#10
|
|||
|
|||
![]()
MAPI properties with a specific GUID are transformed into x-headers when the
item gets sent out, transformed by the message transport from a property into part of the header. That's the only time that happens. You can grab and existing PR_TRANSPORT_MESSAGE_HEADERS string and manipulate it using string functions to add something and write it back. That's about it. Why not just create an Outlook UserProperty, or if you don't want it to be available to users create a named MAPI property and use that? -- 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 "Ashish" wrote in message ... Yes i did same. I get value for PR_TRANSPORT_MESSAGE_HEADERS and search x_header when open item. Then get the value for x_header and remove it. It works successfully. But when i close item i get value for PR_TRANSPORT_MESSAGE_HEADERS and set the value of x_header which i delete.This i do because when i open mail next time x_header should be there. But this time the value is not set. I tried to set it in item_close/inspector_deactivate event but value is not set. While if i debug the program step by step the value is set. Please suggest from where i should set it when close the item. |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Item.Save and Item.Close Script causes Outlook 2007 to Crash | Rayyan | Outlook - Using Forms | 6 | November 25th 06 03:14 AM |
Events and Calendar Item Problems | Eric | Outlook and VBA | 0 | November 10th 06 09:43 PM |
VSTO Item events add and remove ... | lg | Add-ins for Outlook | 0 | October 12th 06 03:01 PM |
Adding events to a new item | lg | Add-ins for Outlook | 1 | August 24th 06 07:53 PM |
Item open events and double click events in exchange client extension. | Fanxa | Add-ins for Outlook | 1 | August 9th 06 08:18 AM |