none
VSTOでのOutlook添付ファイルコンテキストメニュー追加 RRS feed

  • 質問

  • 表記の件につきまして、Outlookで下記のようなことをしようとしています。

     ・VisualStudio2019CommunityのVSTO使用

     ・Outlookで添付ファイルの右クリックで出てくるコンテキストメニューに

      ユーザ作成のメニューを追加したい。

       ->コンテキストメニューの一番下に「ユーザ定義処理」のような名前で

         コンテキストメニューの追加(拡張)したい。

    VisualStudio2019CommunityのVSTOを使用しているのですが、メニューの追加がなされず

    困っています。

    なにかいい情報(メニュー追加の成功例等)、ご教示願えないでしょうか?

     ThisAddin.csの内容(抜粋)

         

        public partial class ThisAddIn
        {
            private void ThisAddIn_Startup(object sender, System.EventArgs e)
            {
            }

            private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
            {
            }
            protected override Microsoft.Office.Core.IRibbonExtensibility CreateRibbonExtensibilityObject()
            {
                return new Ribbon1();
            }

        }

     Ribbon1.xmlの内容

        <?xml version="1.0" encoding="UTF-8"?>
        <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="Ribbon_Load">
          <contextMenus>
            <contextMenu idMso="ContextMenuAttachments">
              <button id="MyContextMenuAttachment"
                  label="ContextMenuAttachment"
                  onAction="OnMyButtonClick"/>
          </contextMenu>
         </contextMenus>
        </customUI>

    2019年12月3日 1:34

回答

  • 新規にOutlook VSTOアドインを作成して、XMLリボンを追加して提示されているXMLに書き換えて、コンテキストメニューに表示されました。

    ThisAddin.CreateRibbonExtensibilityObjectにブレークポイントを設定しておいて、アドインが読み込まれていることは確認できてますか?
    Ribbon1.GetCustomUIにブレークポイントを設定しておいて、戻り値になっている文字列が想定しているXMLになっていることは確認できてますか?
    Ribbon1.Ribbon_Loadコールバックにブレークポイントを設定しておいて、呼び出されていることは確認できてますか?

    #VSTOの開発中は更新されたセンブリがうまく更新されず、アドインが無効になってしまうことがよくある


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク ike222 2019年12月6日 6:04
    2019年12月3日 9:33

すべての返信

  • 新規にOutlook VSTOアドインを作成して、XMLリボンを追加して提示されているXMLに書き換えて、コンテキストメニューに表示されました。

    ThisAddin.CreateRibbonExtensibilityObjectにブレークポイントを設定しておいて、アドインが読み込まれていることは確認できてますか?
    Ribbon1.GetCustomUIにブレークポイントを設定しておいて、戻り値になっている文字列が想定しているXMLになっていることは確認できてますか?
    Ribbon1.Ribbon_Loadコールバックにブレークポイントを設定しておいて、呼び出されていることは確認できてますか?

    #VSTOの開発中は更新されたセンブリがうまく更新されず、アドインが無効になってしまうことがよくある


    個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)

    • 回答としてマーク ike222 2019年12月6日 6:04
    2019年12月3日 9:33
  • gekka様 ご回答ありがとうございます。

    ThisAddin.CreateRibbonExtensibilityObject、Ribbon1.GetCustomUI、

    Ribbon1.Ribbon_Loadにつきましては、「呼び出されている」/

    「戻り値になっている文字列が想定しているXMLになっている」は確認しましたが

    コンテキストメニューに希望の文字列が出ません。

    今更ですが環境は、

     Windows10pro 32bit version 1909

     Office2013Personal Version 15.0.5189.1000

    です。

    張り付けていただいた画面との相違があり、こちらの試験中のコンテキストメニューには

    いっさいアイコンが表示されていません。(「開く」等、文字のみ表示されている)

     ・こちらのOutlookのフォルダウィンドウも同じくフォルダに対するアイコンは表示して

      おらず、当該状態の場合、受信トレイと同列に連絡先フォルダが表示されていません。

      (当該状態と同じことが、コンテキストメニューに起こっているのかも)

    上記状態もふまえて、調査続行中とします。

    何か他にアドバイス等あれば、ご投稿お願いいたします。

    2019年12月4日 6:45
  • 自己レス(途中経過)

     ・Outlook2013:不可(Visualstudioのデバッグと「発行」でのアドインインストール)

     ・Outlook2016:可(「発行」でのアドインインストール)

            Outlook2016環境:Windows10pro64bit ver1903,outlook 16.0.12130.2032,32bit

    Outlook2013では不可確定のような気がします。

    Outlook2013~2019で動いてくれるとよかったのですが・・・

    何か他にアドバイス等あれば、ご投稿お願いいたします。

    2019年12月5日 1:04
  • 自己レス(途中経過)

     ・Outlook2013での添付ファイルコンテキストメニューの表示形式が異なる。

       ->セキュリティセンターの設定で「添付ファイルの取り扱い」の

         「添付ファイルのプレビューをオフにする(T)」が

           オン:コンテキストメニューにアイコン表示無し

           オフ:コンテキストメニューにアイコン表示あり

     ・コンテキストメニューではなく、リボンのボタンで可能か模索中。(Outlook2013)

      ->しかし、inspector(mailitem)リボンタブとAttachmentSelectionChangeイベントの扱いが上記の設定で異なる。

         「添付ファイルのプレビューをオフにする(T)」が

           オン:添付ファイルを選択してもinspector(mailitem)リボンタブに「添付ファイル」タブが表示されない。

              AttachmentSelectionChangeイベント発生しない

           オフ:添付ファイルを選択するとinspector(mailitem)リボンタブに「添付ファイル」タブが表示される。

              AttachmentSelectionChangeイベント発生する

              ※Outlook 2010 (Outlook x none.msp) 用の修正プログラム 2880523が

               生かされていない?

     ふんだりけったりされながら、当ソリューション検討中です。

      ->office2016以降にしたらとは思うのですが費用がのしかかり・・・・・です。

        

    2019年12月6日 5:39
  • 自己レス(終了)

     Outlook2013のセキュリティセンターの設定で「添付ファイルの取り扱い」の

    「添付ファイルのプレビューをオフにする(T)」をオフにすると

    コンテキストメニューにユーザ設定分が出ました。

     ・添付ファイルをクリックするとプレビューが出てしまうのは好きではないのですが

      仕方なしとします。

    gekka様、ご協力ありがとうございました。

    2019年12月6日 6:04