0

Visual Studio 2008 を使用して Outlook アドインを開発しています。ただし、コマンド ボタンをカスタム コマンド バーに追加するときに奇妙な動作に直面しています。この動作は、返信、全員に返信、転送ウィンドウにボタンを追加したときに反映されます。問題は、コマンド ボタンのキャプションが表示されないことですが、VS を使用してデバッグするとキャプションが正しく表示されます。ただし、Outlook (2003) で表示すると、ボタンにキャプションが表示されません。

以下のコードスニペットがあります。どんな助けでも大歓迎です。

private void AddButtonInNewInspector(Microsoft.Office.Interop.Outlook.Inspector inspector)
        {
            try
            {
                if (inspector.CurrentItem is Microsoft.Office.Interop.Outlook.MailItem)
                {


                    try
                    {                       
                        foreach (CommandBar c in inspector.CommandBars)
                        {
                            if (c.Name == "custom")
                            {
                                c.Delete();
                            }
                        }
                    }
                    catch
                    {
                    }
                    finally
                    {
                        //Add Custom Command bar and command button.
                        CommandBar myCommandBar = inspector.CommandBars.Add("custom", MsoBarPosition.msoBarTop, false, true);
                        myCommandBar.Visible = true;

                        CommandBarControl myCommandbarButton = myCommandBar.Controls.Add(MsoControlType.msoControlButton, 1, "Add", System.Reflection.Missing.Value, true);                        
                        myCommandbarButton.Caption = "Add Email";
                        myCommandbarButton.Width = 900;
                        myCommandbarButton.Visible = true;
                        myCommandbarButton.DescriptionText = "This is Add Email Button";

                        CommandBarButton btnclickhandler = (CommandBarButton)myCommandbarButton;
                        btnclickhandler.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.OnAddEmailButtonClick);
                    }


                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message.ToString(), "AddButtInNewInspector");
            }
        }
4

3 に答える 3

1

あなたの質問に対する答えはわかりませんが、アドインを実行するにはAdd-InExpressを強くお勧めします。http://www.add-in-express.com/add-in-net/を参照してください。私はこれをいくつかの商用ソフトウェアを含む多くのプロジェクトで使用してきましたが、それは完全に素晴らしいものです。

Outlook(およびOffice)のすべての統合を実行するため、他のツールバーと同じように操作し、必要な作業の詳細に集中できます。Outlookの拡張性についてまったく心配する必要はありません。強くお勧めします。

とにかく、調べてみたいものとして言及したかっただけです。プロジェクトでサードパーティのコンポーネントを使用することに慣れている場合は、頭痛の種を確実に減らすことができます。

于 2008-08-23T14:28:20.307 に答える
0

わかりませんが、あなたのコードには 2 つの疑問があります。

  1. 「CommandBarButton myCommandbarButton」ではなく「CommandBarControl myCommandbarButton」を宣言しているのはなぜですか?

  2. 幅を 900 ピクセルに設定するのはなぜですか? それは巨大です。Excel でこの設定を気にすることはありません。これは自動サイズ調整されるためです。Outlook も同じように動作すると思います。

于 2008-09-20T04:36:57.457 に答える
0

コマンド バー ボタンのスタイル プロパティを設定していません (私が知る限り)。

これにより、ボタンの MsoButtonStyle がmsoButtonAutomationになります。スタイルをこのままにしておくと、キャプションが表示されないのを見てきました。

Style プロパティをmsoButtonCaptionに設定してみてください。

于 2009-03-10T04:49:50.630 に答える