C++ でXLLアドインを作る with XLW−1〜インストールからサンプルソリューション実行まで〜

xll(要するにExcelのアドインとして使えるdll)を作るためには通常Excel APIなるCのAPIを操作しなければならないのですが、幸いにしてそれのラッパーxlwを開発してくださっている方がおり、それを使ってxllを作成することで開発の手間が激減されます。

今回はそれに挑戦してみようというお話です。

実はインストールからアドイン作成までの手順はyoutubeにUPされているのでその動画の通りにやれば完成します。動画の短さからわかる通りなんと簡単なことか!

・・・上の動画だけなのもなんなんで自分用に丁寧にまとめます。
まず私の手元のマシンに入っているVisual Studio 2010だとxlwがうまく動作しないので、Visual Studio 2008(C++)をhttp://www.microsoft.com/japan/msdn/vstudio/2008/product/express/からインストール。デフォルトのインストールで問題はなし。以後、Visual studio 2008をインストールしたとして解説します。*1

VC++をインストールした後、次にXLW - A Wrapper for the Excel APIからXLWをダウンロード。

これも基本的にデフォルトの設定のままインストールしていいんだけど、

のように開発環境がちゃんと検出されているかは見ておくこと。*2

次にxlwをインストールしたフォルダを進んでいって

  • C:\Program Files\XLW\xlw-4.0.0f0\TemplateExtractors(xlwのバージョンに依存)

にあるxlwTemplateExtractor.exeを起動してソリューションのひな形を作成する。これも超簡単で作りたいひな形の種類を選択してボタンを押すだけ。


そして、作成したひな形を保存したフォルダ

のソリューションファイルを起動。とりあえずビルドしてみると

↑のようにコンパイルが通って

ソリューションのフォルダに新しくDebugフォルダが作成されて、その中にTemplate.xllというアドインが作成される。このアドインをダブルクリックするとExcelが起動するので新しいBookを作成する(Ctrl+N)。そうすると

のように引数に入れた値をそのまま返してくるEchoShort関数が新しく使えるようになっている!
ちなみにこの関数は先ほどのひな形にデフォルトで入ってくる関数です。


ここまでできればあとは自作の関数をモリモリC++で書いていけばよいということになる。
次回は自作関数の作り方と理解した範囲でのxlwの使い方・デバッグを書く予定。
続きはこちら:「C++ でXLLアドインを作る with XLW−2〜サンプルソリューション解説とXLLのデバッグ方法〜 - My Life as a Mock Quant


ちなみにマイクロソフトのページにもxllについて以下のような若干解説があるけど、
日本語が意味不明&手順がしんどいのでxlwを使った方がはるかに楽です。

*1:今回はC++の話をやっていますが、C#でもXLWは動く模様

*2:ちなみにvisual studio 2010だと検出されない