Group:  Microsoft Outlook ยป microsoft.public.outlook.program_addins
Thread: button not firing when word is set as MailEditor.

Geek News

button not firing when word is set as MailEditor.
Joe <jak0101[ at ]gmail.com> 6/11/2007 2:43:28 PM
Hi all

this is a much discussed problem, i m trying to use an outlook addin
which creates a button to the newInspector on clik of which some form
is opend.

it works fine for me when use all the other editors.. except word.

i ve seen Ken's post n other which suggest me to use Word Object
model. but i dont get how exactly should i do it.

here is my code in newInspector event :

Office.CommandBars oCommandBars;
Office.CommandBar oStandardBar;
myInspector = inspector;
oCommandBars = inspector.CommandBars;
oStandardBar = oCommandBars["Standard"];

Microsoft.Office.Interop.Word.Document ObjEditor;
try
{

if (inspector.IsWordMail() == false)
{
// code for other editors..
}
else
{
Redemption.SafeInspector safeInspector =
( Redemption.SafeInspector )
appObject.CreateObject( "Redemption.SafeInspector" );
safeInspector = ( Redemption.SafeInspector )
inspector;

ObjEditor =
(Microsoft.Office.Interop.Word.Document)safeInspector.WordEditor;
object omissing = System.Reflection.Missing.Value;
oStandardBar = ObjEditor.CommandBars["Standard"];
try
{
inspectorButton =
(Office.CommandBarButton)oStandardBar.Controls["Insert Invite"];
}
catch (Exception)
{

//inspectorButton =
(Office.CommandBarButton)oStandardBar.Controls["Insert Invite"];
inspectorButton =
(Office.CommandBarButton)oStandardBar.Controls.Add(1, omissing,
omissing, omissing, true);
inspectorButton.Caption = "Insert Link";
inspectorButton.Style =
Office.MsoButtonStyle.msoButtonIconAndCaption;
inspectorButton.OnAction = "!
<InsertLink.Connect>";
inspectorButton.Click += new
Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.inspectorButton_Click);
}
}
}
catch (Exception)
{

}

oCommandBars = null;
oStandardBar = null;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
but the Click event doesnt fire.. i ve seen some posts asking to use
Redemption. So i ve tried using that..

Please do give your opinions..

This is very critical to me as Outlook sets word as editor by
default.

thanks in advance.

Joe augustine.

Re: button not firing when word is set as MailEditor.
"Ken Slovak - [MVP - Outlook]" <kenslovak[ at ]mvps.org> 6/13/2007 2:19:57 PM
First of all, never use NewInspector to add UI. Use the first Activate
event. I just add my UI to Inspector.CommandBars, I never directly add to
the Word object. Where I do use the Word object is in Window_Activate to see
if it's an email window or a doc and to handle enabling/disabling my UI
appropriately.

--
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


"Joe" <jak0101[ at ]gmail.com> wrote in message
news:1181573008.876793.96150[ at ]g37g2000prf.googlegroups.com...
[Quoted Text]
> Hi all
>
> this is a much discussed problem, i m trying to use an outlook addin
> which creates a button to the newInspector on clik of which some form
> is opend.
>
> it works fine for me when use all the other editors.. except word.
>
> i ve seen Ken's post n other which suggest me to use Word Object
> model. but i dont get how exactly should i do it.
>
> here is my code in newInspector event :
>
> Office.CommandBars oCommandBars;
> Office.CommandBar oStandardBar;
> myInspector = inspector;
> oCommandBars = inspector.CommandBars;
> oStandardBar = oCommandBars["Standard"];
>
> Microsoft.Office.Interop.Word.Document ObjEditor;
> try
> {
>
> if (inspector.IsWordMail() == false)
> {
> // code for other editors..
> }
> else
> {
> Redemption.SafeInspector safeInspector =
> ( Redemption.SafeInspector )
> appObject.CreateObject( "Redemption.SafeInspector" );
> safeInspector = ( Redemption.SafeInspector )
> inspector;
>
> ObjEditor =
> (Microsoft.Office.Interop.Word.Document)safeInspector.WordEditor;
> object omissing = System.Reflection.Missing.Value;
> oStandardBar = ObjEditor.CommandBars["Standard"];
> try
> {
> inspectorButton =
> (Office.CommandBarButton)oStandardBar.Controls["Insert Invite"];
> }
> catch (Exception)
> {
>
> //inspectorButton =
> (Office.CommandBarButton)oStandardBar.Controls["Insert Invite"];
> inspectorButton =
> (Office.CommandBarButton)oStandardBar.Controls.Add(1, omissing,
> omissing, omissing, true);
> inspectorButton.Caption = "Insert Link";
> inspectorButton.Style =
> Office.MsoButtonStyle.msoButtonIconAndCaption;
> inspectorButton.OnAction = "!
> <InsertLink.Connect>";
> inspectorButton.Click += new
> Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.inspectorButton_Click);
> }
> }
> }
> catch (Exception)
> {
>
> }
>
> oCommandBars = null;
> oStandardBar = null;
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> but the Click event doesnt fire.. i ve seen some posts asking to use
> Redemption. So i ve tried using that..
>
> Please do give your opinions..
>
> This is very critical to me as Outlook sets word as editor by
> default.
>
> thanks in advance.
>
> Joe augustine.
>

Home | Search | Terms | Imprint Contact
Newsgroups Reader - provided by WiredBox.Net