none
【VSTO】Excel2010にてShapeのClickイベントを取得したい RRS feed

  • 質問

  • いつもお世話になっております。
    VSTO4.0、Excel2010ブックを対象とした開発をしています。

    Excelファイルの中には、Shapeが張り付けられています。
    そのShapeがクリックされたときに、独自の処理を行いたいのですが、
    Shapeがクリックされたイベントを取得できないため、
    どのように対応すべきか困っております。

    マクロを利用すれば「OnAction」にメソッド名を記載し、
    マクロ側で処理を記載すれば実現できる、ということは分かるのですが、
    マクロは利用したくないため、困っております。

    実現したい処理としては、いくつかあるのですが、
    クリック時にShapeのサイズを変更したい、
    というようなプログラムとしては比較的単純なものです。

    ApplicationやWorkbookのイベントは取得できるのですが、
    Shapeのイベントは同じようには取得できないようで、
    どのように対応したら良いだろうかと思っております。

    行いたい処理は、いずれも対象のオブジェクトはShapeで、
    Click時に独自の処理を動かせれば解決できるものばかりです。

    何か、良い解決策がございましたら、
    ご教示頂ければ、幸いでございます。

    以上、よろしくお願い致します。
    2014年9月5日 4:02

回答

  • フォーラム オペレーターの星 睦美です。
    コンドル さん、投稿ありがとうございます。

    日本語のMSDN - Visual Studio Tools for Office フォーラムがありましたが、現在は既に終了してアーカイブとして公開しています。Visual C# フォーラムではユーザーからの情報が集まりにくいかも知れませんので、私からは英語のMSDNのVSTO に関するフォーラムをご紹介します。よろしければ情報収集にお役立てください。

    Visual Studio Tools for Office (VSTO): (英語)

    上の英語のVSTO フォーラムにShape を変更したときのイベントに関する質問がありました。内容はコンドル さんの質問と同じではないのですが、Shape のイベントに関して何かヒントになれば幸いです。

    Create new event for shape change in Excel: (英語)


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    • 回答としてマーク コンドル 2014年9月5日 10:08
    2014年9月5日 4:43

すべての返信

  • フォーラム オペレーターの星 睦美です。
    コンドル さん、投稿ありがとうございます。

    日本語のMSDN - Visual Studio Tools for Office フォーラムがありましたが、現在は既に終了してアーカイブとして公開しています。Visual C# フォーラムではユーザーからの情報が集まりにくいかも知れませんので、私からは英語のMSDNのVSTO に関するフォーラムをご紹介します。よろしければ情報収集にお役立てください。

    Visual Studio Tools for Office (VSTO): (英語)

    上の英語のVSTO フォーラムにShape を変更したときのイベントに関する質問がありました。内容はコンドル さんの質問と同じではないのですが、Shape のイベントに関して何かヒントになれば幸いです。

    Create new event for shape change in Excel: (英語)


    フォーラム オペレーター 星 睦美 - MSDN Community Support

    • 回答としてマーク コンドル 2014年9月5日 10:08
    2014年9月5日 4:43
  • 星さん
    ご回答ありがとうございます。

    ご紹介いただいた質問を見ても、標準では対応されていないはずである、ということが十分に理解できました。
    苦渋の策ではございますが、OnActionを利用することを前向きに検討しようと思います。

    参考になりました。ありがとうございます。

    2014年9月5日 10:08