Visual Studio Tools for Office で作成された Outlook 2010 アドインが有効の時、 Excel 2010 から [保存と送信]-[添付ファイルとして送信] を行うと、Excel 2010 アプリケーションの背面に [名前を付けて保存] ダイアログが表示される

現象
Visual Studio Tools for Office で作成された Outlook 2010 アドインが構成されている場合に Excel 2010 から [保存と送信]-[添付ファイルとして送信] を行うと、Excel 2010 アプリケーションの背面に [名前を付けて保存] ダイアログが表示されます。

 この現象は、Outlook 2010 アドインがリボン (ビジュアル デザイナー) で作成している場合に発生します。
回避策
リボン (ビジュアル デザイナー) は使用せずに、リボン (XML) を使用します。

手順:

  1. Visual Studio 2010 を起動し、作成済みの Outlook 2010 アドイン プロジェクトを開きます。
  2. ソリューション エクスプローラから Ribbon1.cs を選択し、右クリックし表示されるショートカット メニューから[デザイナーの表示] メニューを選択します。
  3. デザイナ画面で右クリックし表示されるショートカット メニューから、[リボンを XML へエクスポート] メニューを選択します。
    XML ファイルへエクスポートします。

    これによって、Ribbon.cs と Ribbon.xml とが生成されます。(Ribbon.cs の先頭にコメントでコードの変更方法等が記載されます。)
  4. ソリューション エクスプローラから ThisAddIn.cs を選択し、右クリックして表示されるショートカット メニューから[コードの表示] メニューを選択します。
  5. ThisAddIn クラスで、CreateRibbonExtensibilityObject() を以下のようにオーバーライドします。

    protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()    {        return new Ribbon();      }
    ※ アドインがすべてのウィンドウが対象ではなく、"Microsoft.Outlook.Mail.Compose" と "Microsoft.Outlook.Mail.Read" アイテムのみ対象と設定している場合は、Ribbon.cs の GetCustomUI() を以下のように変更します。

    public string GetCustomUI(string ribbonID){ if (ribbonID == "Microsoft.Outlook.Mail.Compose" || ribbonID == "Microsoft.Outlook.Mail.Read")            {               return GetResourceText("OutlookAddIn1.Ribbon.xml"); //実際のプロジェクト名に合わせて変更します。          }      return string.Empty;                }


状況
マイクロソフトでは、この問題について現在調査中です。詳細については、わかりしだいこの資料に掲載する予定です。
詳細
問題の再現手順:

  1. Visual Studio 2010 を起動します。
  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
  3. テンプレート ペインで、[Visual C#] を展開し、[Office] を展開します。
  4. 展開した Office ノードの下にある、 2010 ノードを選択します。
  5. プロジェクト テンプレートの一覧から Outlook 2010 アドインを選択します。
  6. [プロジェクト名] ボックスに SampleOutlookAddIn1 と入力します。
  7. [OK] をクリックします。
    Visual Studio により SampleOutlookAddIn1 プロジェクトが作成され、ThisAddIn コードファイルがエディターで開かれます。
  8. [プロジェクト] メニューの [新しい項目の追加] をクリックします。
  9. リボン (ビジュアル デザイナー) を選択し、[追加] をクリックします。
  10. [プロパティ] ウィンドウで、▼ を選択し、Ribbon1 Microsoft.Office.Tools.Ribbon.OfficeRebbon を選択します。
  11. RibbonType プロパティの ▼ を選択し、Microsoft.Outlook.Mail.Compose と Microsoft.Outlook.Mail.Read を選択し有効 (チェック) を入れます。
  12. [ビルド] メニューの [ソリューションのビルド] を選択します。
  13. Excel 2010 を起動します。
  14. A1 セルに任意の文字列を入力します。
  15. [ファイル]-[保存と送信]-[電子メールで送信]-[添付ファイルとして送信] をクリックします。
  16. メールを送信します。
  17. Excel 2010 に戻り、[ファイル]-[名前を付けて保存] をクリックします。 

結果:
[名前を付けて保存] ダイアログが、Excel 2010 ウィンドウの背面に表示されます。



関連情報
チュートリアル : 初めての Outlook 用アプリケーション レベルのアドインの作成

Ribbon XML

317109 Visual Studio .net クライアントからオートメーションと Officeのアプリケーションが終了しません
注意 : これは、マイクロソフトのサポート組織内で直接作成された "緊急公開" の資料です。 この資料には、確認中の問題に関する現状ベースの情報が記載されています。 情報提供のスピードを優先するため、資料には誤植が含まれる可能性があり、予告なしに随時改定される場合があります。 その他の考慮事項については、使用条件を参照してください。
プロパティ

文書番号:2771037 - 最終更新日: 09/29/2016 09:55:00 - リビジョン: 3.0

Microsoft Office 2010 Service Pack 1

  • kbtshoot kbexpertiseinter KB2771037
フィードバック