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 / May 2007

Tip: Looking for answers? Try searching our database.

Outlook 2007 Ribbon access from ActiveX control

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
GR - 24 May 2007 21:41 GMT
Hi All,

I have an ActiveX Control (.ocx) written in VB6 that I put on the
second page tab in an Outlook Appointment custom form. This works fine
for Outlook 2000-2003. I am now trying to port this into a separate
project to work with Outlook 2007.

So far, everything seems to come up and display fine. Now what I am
trying to do is to capture the buttons (Send, Send Update, etc...)
from the Ribbon like I do for the CommandBars in the previous Outlook
versions.

I have added the "Implements Office.IRibbonExtensibility" line into
the project and it automatically created the
"IRibbonExtensibility_GetCustomUI( )" function in the project for me.
In this function is where I added the XML code to register an onAction
callback for some of the buttons (I have used this exact same xml code
in another .dll and it worked fine).

The problem is that the "IRibbonExtensibility_GetCustomUI" function
does not seem to be getting called at all when the control is
activated. I put a messagebox at the top of that function and it never
gets to it, thereby never getting the XML code for the button
callback. What I don't understand is who calls that function
specifically. In the "UserControl_Show( )" sub is where I used to set
the Commandbars codes for the buttons I wanted to intercept. However,
I don't think I can just call the "IRibbonExtensibility_GetCustomUI"
function myself, right? It needs the RibbonID passed into it and I'm
assuming tied back to the Ribbon somehow.

I'm missing how the Ribbon gets set to the procedures in the ActiveX
control. In my DLL project, the "IRibbonExtensibility_GetCustomUI"
function gets called automatically when the DLL is loaded.

Any help? Thanks!
Patrick Schmid [MVP] - 25 May 2007 00:30 GMT
You can't do this. RibbonX can only be supplied via Outlook COM Add-ins.
ActiveX controls cannot supply RibbonX.

Patrick Schmid [OneNote MVP]
--------------
http://pschmid.net
***
Outlook 2007 Performance Update: http://pschmid.net/blog/2007/04/13/105
Office 2007 RTM Issues: http://pschmid.net/blog/2006/11/13/80
***
Customize Office 2007: http://pschmid.net/office2007/customize
RibbonCustomizer Add-In: http://ribboncustomizer.com
OneNote 2007: http://pschmid.net/office2007/onenote
***
Subscribe to my Office 2007 blog: http://pschmid.net/blog/feed

> Hi All,
>
[quoted text clipped - 31 lines]
>
> Any help? Thanks!
Ken Slovak - [MVP - Outlook] - 27 May 2007 23:07 GMT
To add to what Patrick said, the code that Implements the ribbon must also
be the code that Implements IDTExtensibility2.

Signature

Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm

> You can't do this. RibbonX can only be supplied via Outlook COM Add-ins.
> ActiveX controls cannot supply RibbonX.
[quoted text clipped - 11 lines]
> ***
> Subscribe to my Office 2007 blog: http://pschmid.net/blog/feed
GR - 29 May 2007 16:44 GMT
On May 27, 6:07 pm, "Ken Slovak - [MVP - Outlook]"
<kenslo...@mvps.org> wrote:
> To add to what Patrick said, the code that Implements the ribbon must also
> be the code that Implements IDTExtensibility2.
[quoted text clipped - 22 lines]
>
> - Show quoted text -

Hi Patrick & Ken,

Thanks for the replies!

Just to be sure I'm clear on this and that I explained myself
properly:

I have a COM AddIn (.dll) for Outlook 20007 that puts a button on the
command bar. When the user presses this button it opens up a custom
form (based on the Outlook meeting form). There the user fills in some
info and tabs to the second page where my ActiveX (.ocx) control
resides on the form. The control gets activated and performs some
functions. It is at this point that I want the ActiveX control to be
able to intercept any buttons (eg: Send, etc...) that the user pressed
on the Ribbon, just like I used to do with CommandBars for Outlook
2003.

Are you saying that this is no longer possible like I used to be able
to do with the CommnadBars? Any alternatives pop to mind?

Thanks!
Patrick Schmid [MVP] - 29 May 2007 17:24 GMT
Why don't you have the COM add-in handle all of the UI interaction?

Patrick Schmid [OneNote MVP]
--------------
http://pschmid.net
***
Outlook 2007 Performance Update: http://pschmid.net/blog/2007/04/13/105
Office 2007 RTM Issues: http://pschmid.net/blog/2006/11/13/80
***
Customize Office 2007: http://pschmid.net/office2007/customize
RibbonCustomizer Add-In: http://ribboncustomizer.com
OneNote 2007: http://pschmid.net/office2007/onenote
***
Subscribe to my Office 2007 blog: http://pschmid.net/blog/feed

> On May 27, 6:07 pm, "Ken Slovak - [MVP - Outlook]"
> <kenslo...@mvps.org> wrote:
[quoted text clipped - 46 lines]
>
> Thanks!
 
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



©2008 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.