読者です 読者をやめる 読者になる 読者になる

Natural Software

KinectなどのDepthセンサーを中心に活動しています

Office AddIn の作り方 〜開発編〜

C#

せっかく Office アドインを作ったので作り方を残しておきます。
基本的にはこちらの通りですが、キャプチャもあったほうがわかりやすいので補足的に。


今回の開発編と次回のインストール編の2つ構成です

開発環境

プロジェクトの作成

1. Visual Studio 2008 を起動し、新規プロジェクトで 「Excel 2003 アドイン」を選択する


2. こんな感じでプロジェクトが生成される

コードの作成と実行

1. お試しで起動時にメッセージボックスが表示されるアドインにする


2. 実行すると Excel が起動し、メッセージボックスが表示される

署名の付与

インストール先で使用するために署名を付与する
1. ExcelAddIn1 プロジェクトを右クリックし、プロパティを選択する


2. プロパティの「署名」を選択し、「アセンブリの署名」をチェック、ドロップダウンリストから「新規作成」を選択


3. キーファイル名とパスワードを入力(適当でいいかも)


4. pfx というファイルが生成される

セキュリティ設定のためのプロジェクトを追加

インストール先でアドインを有効にするためのセキュリティ設定を行うコードを追加
1. ここからサンプルをダウンロード、インストールする


2. インストールフォルダの「SetSecurity」フォルダをアドインのプロジェクトフォルダにコピー


3. コピーしたプロジェクトをソリューションに追加



インストーラにセキュリティ設定プロジェクトを追加

追加したプロジェクトをインストーラに設定する
1. インストーラプロジェクトを右クリックし、「表示|カスタム動作」を選択する


2. カスタム動作画面の「インストール」を右クリックし、「カスタム動作の追加」を選択する


3. 「アプリケーションフォルダ」をダブルクリック


4. 「出力の追加」ボタンを押下


5. ドロップダウンリストで「SetSecurity」を選択


6. 出力ファイルが追加されたら「OK」ボタンを押下


7. 「ロールバック」と「アンインストール」にも同様に追加する

セキュリティ設定を追加

セキュリティ設定のためのプロパティを設定する
1. インストールの設定した出力を右クリックし、「プロパティウィンドウ」を選択


2. プロパティウィンドウの「CustomActionData」に下記の文字列を追加(「MyCompanyName」は自社名、「ExcelAddIn1」の部分は作成するプロジェクト名に置換する)

/assemblyName="ExcelAddIn1.dll" /targetDir="[TARGETDIR]\" /solutionCodeGroupName="MyCompanyName.ExcelAddIn1" /solutionCodeGroupDescription="Code group for ExcelAddIn1" /assemblyCodeGroupName="ExcelAddIn1" /assemblyCodeGroupDescription="Code group for ExcelAddIn1" /allUsers=[ALLUSERS]


3. 同様にロールバックとアンインストールの「CustomActionData」に下記の文字列を追加(置換もインストールと同様)

/solutionCodeGroupName="MyCompanyName.ExcelAddIn1"

インストーラのビルド

1. インストーラをビルドする


2. プロジェクトの出力先にインストーラが生成される