2012-01-10 9 views
1

新しい電子メールウィンドウのリボンにボタンを追加するOutlookアドインを作成しましたが、問題が発生しています。ここで自分のカスタムOutlookアドインが原因でExcelの保存ダイアログボックスが表示されなくなる

は何が起こるかです:

  1. ユーザーがOutlookを開きがあります。
  2. ユーザーがExcelを開きます。
  3. ユーザーがファイル - >保存してSend-経由で誰かにExcelドキュメントを送信>ユーザーが
  4. ユーザーがOutlookユーザーを求められたときに、ドキュメントこれは
  5. を閉じようとした文書に変更を加え
  6. 添付ファイルとして送信しますファイルを保存するにはダイアログボックスがExcelウィンドウの背後に隠れていて、ユーザーは何かの嫌悪感を持たずにそれにアクセスすることはできません。

私のOutlookアドインは他にもたくさんありますが、作成したRibbon.csファイルに固定して、新しい電子メールウィンドウにボタンを追加しました。 OfficeRibbonオブジェクトのRibbonTypeプロパティをMicorosft.Outlook.Mail.Composeから何も変更しないと、Save Dialogが表示されます。 「作成」に戻すと、ダイアログボックスが再び非表示になります。

これを回避する方法はありますか?この問題は、プロジェクトがOutlook 2007アドインまたはOutlook 2010アドインのいずれかであることを確認しています。

ありがとうございます。

+0

これは役立つ可能性があります。http://social.msdn.microsoft.com/Forums/is/outlookdev/thread/688ed11a-59e4-4778-b956-fc8a7cbaec14?prof=required –

答えて

1

だから、答えをuser1217053によって送られたリンクを参照して、おそらくそれはBeforeCloseイベントにバインドしているOutlook.Mailitem のためのクラススコープフィールドを作成...

の線に沿っでしょう。このフィールドのBeforeCloseイベントハンドラ内

、このよう

cMailItem_BeforeClose(bool Cancel) 
{ 
    var Insp = cMailItem.GetInspector(); 
    Insp.Close(); 
    Marshal.FinalReleaseCOMObject(Insp); 
    Insp = null; 
} 

はその後うまくいけば、これは影インスペクタを取り除くだろう...などのコードを追加します。

0

この問題で作業しているかどうかはわかりませんが、まったく同じ問題に直面して解決策を見つけました。私のようにリボンデザイナーを使用している必要があります。リボンデザイナーがこの問題を引き起こします。リボンデザイナーからリボンXMLに変更する必要がありました。コードを削除してロジックを変更するのは少しの作業でしたが、問題が修正されました。私は他のaltenativeがラッパークラスを使用することを聞いた。

これが役に立ちます。

関連する問題