Skip to content

aki426/ExcelAddinWPF.2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ExcelAddinWPF.2024

VSTO Addin for Excel with WPF sample Ver.2024

Versions

  • C# 10.0
  • .Net Framework 4.8.1
  • VSTO Addin
  • CommunityToolkit
  • ReactiveProperty

Project settings

  • WpfControlLib
    • C# LangVersion : 10.0
    • Nullable : enable

手順

  1. VSTOアドインプロジェクト(以下、VSTOプロジェクト)をVSの機能で作成する。
  2. WPFユーザコントロールプロジェクト(以下、WPFプロジェクト)をVSの機能で作成する。
  3. WPFプロジェクトでWPFユーザコントロールを作成する。
  4. VSTOプロジェクトでWinFormsユーザコントロールを作成し、リボンにボタンなどを登録し、ボタン押下時にカスタム作業ウィンドウへWinFormsユーザコントロールを登録・表示するコードを追加する。
  5. WinFormsユーザコントロールへWPFユーザコントロールを登録する。
    1. ビジュアルエディタを用いる場合は、MaterialDesignThemeなどを使用しているWPFユーザコントロールを登録しようとすると参照エラーが出てうまくいかない。
    2. そこで、一旦MaterialDesignThemeなどのリソースを使用していない単純なWPFユーザコントロールを作成し、それを登録する。
    3. 登録時にエラーが発生しなかったら、元々登録したかった任意のWPFユーザコントロールへ変更する。
  6. Officeの操作は、別にOfficeアプリ操作用のライブラリプロジェクトを用意し、それにThisAddInの持つMicrosoft.Office.Interop.*のインスタンスを渡すようにする。
    1. 参照関係として、VSTOプロジェクト -> WPFプロジェクト -> Officeライブラリプロジェクトという関係にする。
    2. WPFプロジェクトからはOfficeライブラリプロジェクトを操作するだけにするとよい。どのみちMicrosoft.Office.Interop.*はGlobalsから取得できるグローバル変数のような扱いであり、GCやリソース管理についてあまり深く考えなくても使用できる。

メモ

CommunityToolkitを使う予定だったが、ReactiveCollectionに相当する機能が無いらしく悩ましい。

参考

About

VSTO Addin for Excel with WPF sample Ver.2024

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages