Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Outlook / Programming Add-Ins / October 2009

Tip: Looking for answers? Try searching our database.

Outlook 2007 Meeting Item Send Button

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
GR - 19 Oct 2009 22:29 GMT
I am not having any luck capturing the event when a user presses the
large size "Send" button an a meeting form. I get the event for the
menu "Send" command, but not the button.

I am assuming that it is probably poorly formed XML string I am using
in the IRibbonExtensibility_GetCustomUI function. I have played around
with it a bunch but noting seems to work. This is the latest attemp of
what I was using:

                       "<customUI xmlns=""http://
schemas.microsoft.com/office/2006/01/customui"">" & _
                       "<ribbon>" & _
                       "<tabs>" & _
                       "<tab idMso=""TabHome"">" & _
                       "<group idMso=""Send"">" & _
                       "<button idMso=""SendDefault""
onAction=""SendButton_Action"" />" & _
                       "</group>" & _
                       "</tab>" & _
                       "</tabs>" & _
                       "</ribbon>" & _
                       "</customUI>"

Does anyone have an example XML string that captures that "large
button" on the actual form?

Thanks!
Ken Slovak - [MVP - Outlook] - 20 Oct 2009 15:06 GMT
You're supplying the XML when GetCustomUI() calls for
"Microsoft.Outlook.MeetingRequest.Send"?

Tab idMSO = "TabNewMailMessage"
Group idMSO = "GroupSend"
Control idMSO = "SendDefault"

That's for a meeting request.

You can download the schemas for all the ribbons in Office 2007 from the
Office Developer site at MSDN.

Signature

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

>I am not having any luck capturing the event when a user presses the
> large size "Send" button an a meeting form. I get the event for the
[quoted text clipped - 23 lines]
>
> Thanks!
GR - 20 Oct 2009 18:31 GMT
> You're supplying the XML when GetCustomUI() calls for
> "Microsoft.Outlook.MeetingRequest.Send"?
[quoted text clipped - 43 lines]
>
> - Show quoted text -

Actually, I am supplying the XML when GetCustomUI() calls for
"Microsoft.Outlook.Appointment". My custom form is based on the
appointment form. The code for this is getting called, however I don't
think I am using the correct IDMso's for the tab/group/control.

Any idea for this?
Ken Slovak - [MVP - Outlook] - 20 Oct 2009 19:27 GMT
There is no Send button on an Appointment form by default, you'd have to
make it visible and enabled. Try using idMSO = "TabAppointment" for the tab
idMSO in an appointment item. The group and control should have the same
idMSO values you're using.

And download that XML schemas download from the developer Web site.

Signature

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

<snip>

Actually, I am supplying the XML when GetCustomUI() calls for
"Microsoft.Outlook.Appointment". My custom form is based on the
appointment form. The code for this is getting called, however I don't
think I am using the correct IDMso's for the tab/group/control.

Any idea for this?
GR - 20 Oct 2009 20:26 GMT
Hi Ken,
Thanks for the quick reply. I have downloaded the schemas but am not
seeing what I need there (or at least not getting it :-).

I have tried setting the idMSO="TabAppointment" as suggested but I
receive this eror message:

" controls in a built-in group cannot be modified"

when the XML loads.

Thanks.

> There is no Send button on an Appointment form by default, you'd have to
> make it visible and enabled. Try using idMSO = "TabAppointment" for the tab
[quoted text clipped - 17 lines]
>
> Any idea for this?
Ken Slovak - [MVP - Outlook] - 20 Oct 2009 21:09 GMT
So what does your XML look like now?

It should have something like this in it for repurposing that control:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
   <commands>
       <command idMso="SendDefault" onAction="SendButton_Action"/>
   </commands>
</customUI>

Sorry I missed that before, that you were repurposing that control.

Signature

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

Hi Ken,
Thanks for the quick reply. I have downloaded the schemas but am not
seeing what I need there (or at least not getting it :-).

I have tried setting the idMSO="TabAppointment" as suggested but I
receive this eror message:

" controls in a built-in group cannot be modified"

when the XML loads.

Thanks.
GR - 21 Oct 2009 14:37 GMT
Here are the XML strings and their results that I've tried without
success:

#1

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/
customui">
    <commands>
        <command idMso="SendDefault" onAction="SendButton_Action" />
    </commands>
</customUI>

RESULT: My callback function ("SendButton_Action") never gets called
when pressing the large "Send" button on the form nor when pressing
the "Office/Send" menu item.

#2 (using SendItem instead of SendDefault)

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/
customui">
    <commands>
        <command idMso="SendItem" onAction="SendButton_Action" />
    </commands>
</customUI>

RESULT: My callback function ("SendButton_Action") never gets called
when pressing the large "Send" button on the form. It DOES get called
when pressing the "Office/Send" menu item.

#3

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/
customui">
  <ribbon>
     <tabs>
        <tab idMso="TabAppointment">
           <group idMso="GroupSend">
              <button idMso="SendDefault"
onAction="SendButton_Action" />
           </group>
        </tab>
     </tabs>
  </ribbon>
</customUI>

RESULT: When the code that sets the XML runs, Outlook pops up an error
box:

(when using SendDefault: <button idMso="SendDefault"
onAction="SendButton_Action" />)

                 "Custom UI Runtime Error"
                 "controls in a built-in group cannot be modified:
SendDefault"

(when using SendItem: <button idMso="SendItem"
onAction="SendButton_Action" />)

                 "Custom UI Runtime Error"
                 "controls in a built-in group cannot be modified:
SendItem"

So the code that sets the XML string always gets called but so far,
nothing seems to capture that large Send button on the form when you
create a Meeting request.

Thanks.

> So what does your XML look like now?
>
[quoted text clipped - 26 lines]
>
> Thanks.
Ken Slovak - [MVP - Outlook] - 21 Oct 2009 15:36 GMT
SendDefault and SendItem should cover both of those buttons.

The <command> tag is what should be used for repurposing a built-in control.
so that should be OK.

I just played with this on a Mail.Compose form. I was also able to handle
the idMso="SendItem" button but not the idMso="SendDefault" button. I'm
doing some more digging on this but so far it looks like that button is not
able to be repurposed.

Does an alternative of handling the item.Send() event work for you?

Signature

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

Here are the XML strings and their results that I've tried without
success:

#1

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/
customui">
<commands>
<command idMso="SendDefault" onAction="SendButton_Action" />
</commands>
</customUI>

RESULT: My callback function ("SendButton_Action") never gets called
when pressing the large "Send" button on the form nor when pressing
the "Office/Send" menu item.

#2 (using SendItem instead of SendDefault)

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/
customui">
<commands>
<command idMso="SendItem" onAction="SendButton_Action" />
</commands>
</customUI>

RESULT: My callback function ("SendButton_Action") never gets called
when pressing the large "Send" button on the form. It DOES get called
when pressing the "Office/Send" menu item.

#3

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/
customui">
  <ribbon>
     <tabs>
        <tab idMso="TabAppointment">
           <group idMso="GroupSend">
              <button idMso="SendDefault"
onAction="SendButton_Action" />
           </group>
        </tab>
     </tabs>
  </ribbon>
</customUI>

RESULT: When the code that sets the XML runs, Outlook pops up an error
box:

(when using SendDefault: <button idMso="SendDefault"
onAction="SendButton_Action" />)

                 "Custom UI Runtime Error"
                 "controls in a built-in group cannot be modified:
SendDefault"

(when using SendItem: <button idMso="SendItem"
onAction="SendButton_Action" />)

                 "Custom UI Runtime Error"
                 "controls in a built-in group cannot be modified:
SendItem"

So the code that sets the XML string always gets called but so far,
nothing seems to capture that large Send button on the form when you
create a Meeting request.

Thanks.
GR - 21 Oct 2009 18:59 GMT
Hi Ken,

Thanks for looking at this. I'm glad it's not just me who sees this!

I have been playing with using the Item.Send() event in the meanwhile.
I think I might be able to get away with using this although it is
nowhere as efficient. I am having to write a lot more code than if I
could just capture that button's event when pressed. One particular
problem I have is that in Outlook 2007 by the time the Item.Send()
event is called, an occurrence of a recurring meeting that was opened,
modified and has had its "Send" button pressed now has had it's
RecurrenceState changed from "occurrence" to"exception" which was
messing up how I work with this item further downstream. It looks like
I can check this ahead of time though in the Item.Write() event which
comes first and it still is representative of the RecurrenceState of
the item when the user first opened it.

I really would like to be able to intercept that button though. Thanks
for all your help. Please keep me posted if you discover something.

On Oct 21, 10:36 am, "Ken Slovak - [MVP - Outlook]"
<kenslo...@mvps.org> wrote:
> SendDefault and SendItem should cover both of those buttons.
>
[quoted text clipped - 81 lines]
>
> Thanks.
Ken Slovak - [MVP - Outlook] - 27 Oct 2009 15:39 GMT
I received confirmation from the owner of the Outlook object model that the
large Send button cannot be repurposed. He also confirmed the best
workaround would be to handle item.Send().

Signature

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

Hi Ken,

Thanks for looking at this. I'm glad it's not just me who sees this!

I have been playing with using the Item.Send() event in the meanwhile.
I think I might be able to get away with using this although it is
nowhere as efficient. I am having to write a lot more code than if I
could just capture that button's event when pressed. One particular
problem I have is that in Outlook 2007 by the time the Item.Send()
event is called, an occurrence of a recurring meeting that was opened,
modified and has had its "Send" button pressed now has had it's
RecurrenceState changed from "occurrence" to"exception" which was
messing up how I work with this item further downstream. It looks like
I can check this ahead of time though in the Item.Write() event which
comes first and it still is representative of the RecurrenceState of
the item when the user first opened it.

I really would like to be able to intercept that button though. Thanks
for all your help. Please keep me posted if you discover something.
GR - 27 Oct 2009 19:06 GMT
Good to get a "definitive" answer even if it is one I didn't want (or
agree with). Not sure what Microsoft's logic behind excluding that
button is.

Thanks for all your work.

On Oct 27, 10:39 am, "Ken Slovak - [MVP - Outlook]"
<kenslo...@mvps.org> wrote:
> I received confirmation from the owner of the Outlook object model that the
> large Send button cannot be repurposed. He also confirmed the best
[quoted text clipped - 25 lines]
> I really would like to be able to intercept that button though. Thanks
> for all your help. Please keep me posted if you discover something.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2010 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.