C#でこなすExcel課題
VBAはつらいよ
はじめに
• Windows上のMicrosoft Excel上でアプリケー
ションの開発手法
• Windowsもってねーよ!
• Microsoft Officeなんてもってねーよ!
– 「DreamSparkからのクリスマスプレゼント」
http://www.slideshare.net/tnkt37/dreamspark-42910601
自己紹介
• 齋藤主裕
• とさか2 (@nanTosaka2)
• 渋谷教育学園渋谷高等学校
• コンピューター部部長
• Dreamsparkで夢のマイホーム - CombGig 1st
• ランク6(7)の俺がパズドラについて語る - Comb Meetup
• CombGig2 運営手伝い
対象者
• 中学・高校・大学でExcel上で動くプログラ
ムを作る課題が出る人
– 渋渋(渋谷教育学園渋谷)生とか
– 渋渋生とか
– 渋渋生とか
– 他にもそういうところ、あるよね?
VBAはつらい
• 時代遅れな言語仕様
– 構造化しづらい
– 中途半端な型付け
– 1998年の言語仕様からほぼ進化せず
• 使いづらいエディタ
– コンパイルエラーでご丁寧なダイアログ
– 出て欲しい時に出てくれない補完
– 例外のガイドが不親切なときも
そうだ、C#でやろう。
• 方法は3つ
– COM
– Microsoft Office Tools
– Excel DNA ←今回はこれ
Excel DNAとは
• .NET言語でExcelマクロとかが組める
– C#
– F#
– VB.NET
– もちろんVisual Studioで開発できる!
• 使い方等
– http://supermab.com/wp/tag/excel-dna/
• ここでは紹介されてないけどNuGetからも入れられる
– COMと組み合わせるとIntellisenseも効く
• http://qiita.com/kurometiko@github/items/f0c6449d8734889d1e83
• Excelバージョン依存になるので注意
実際に作ったもの
• “Ten”というスマートフォンゲームの移植版
– AIは本家より強い
まとめ
• VBAでそのままやるのはつらい
• C# + Excel DNAで開発しよう!
• 参考サイト
– http://supermab.com/wp/tag/excel-dna/
– http://qiita.com/kurometiko@github/items/f0c6449d8734889d1e83
– http://www.happy2-island.com/excelsmile/smile05/

C#でこなすexcel課題