OneNoteを使って高度なことをしたいが、諸事情によりOnetasticが使えない。
ちょっとググった感じVSTOも対応していないっぽい。
そんな時はファイルタブ>オプション>アドイン から自作COMアドインを追加するしかない。しかし、COMアドインの追加方法に関してググっても見つからず嵌った。解決方法を記録しておく。
まぁ、結構ググっても出てこない感じ需要がない気もするが、、、
導入
このサイトにOneNoteのCOMアドインの詳しい説明が書かれている。
しかし、実際どのように公開するかの方法が書かれていない泣
(GitHubのプロジェクトでは*.vdprojをデバッグして実行すればおkとか書いてあるけどVS2010までしか対応してないらしいし開けすらしなかった)
ゴール
このサイトの手順でCOMアドインの追加が可能な状態にする。
ソースコードはhttps://skydrive.live.com/redir?resid=99C161754C5A699%21505
からダウンロード**(クリックすると勝手にダウンロードが始まるので注意)**。
環境
Windows 10 Pro
Visual Studio 2015 express
OneNote2016
ステップ1〜Regasm.exeでdllをCOMコンポーネントとして登録〜
-
"C:\Windows\WinSxS\amd64_regasm_b03f5f7f11d50a3a_4.0.14320.17035_none_373bc35825466c51\RegAsm.exe" /codebase OneNote2013AddIn.dll(※注)上記ソースコードをVSからビルドした時にできたdllのフルパス
-
署名がないので怒られる
ステップ2〜署名して検証を突破〜
- プロジェクトのプロパティを開く
- 署名タブを開く
- アセンブリ署名をするにチェック
- キーファイルを新規作成する
- ビルドする
Sn.exeから署名検証をかっ飛ばそうとするも失敗。
おとなしく.snkを作成しました。
完了後、ステップ1を流すと無事に成功するはず。
ステップ3〜レジストリを書き換える〜
- 導入で紹介したURLでの手順に従い、レジストリを登録。
- OneNoteからアドイン追加画面にいくとCOMアドインが追加できるようになっている。
最後に
「EXCEL COMアドイン 追加」のキーワードでググれば一発だった
ググる力とWindowsに関する基礎知識が足りてないのを実感しました泣
C#を使ってのOneNoteのCOMアドインの開発についてもゆくゆくまとめたいな
OneNote APIも早く触りたい
追記
勉強を進めるうちに気付いたけど、タイトルが間違ってるような気がします。
「COMのデプロイ方法(OneNoteアドインを例として)」が正しいです。