狠狠撸

狠狠撸Share a Scribd company logo
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/

More Related Content

What's hot (13)

普段こういうこと気にしながら、こんな风に作ってます。
普段こういうこと気にしながら、こんな风に作ってます。普段こういうこと気にしながら、こんな风に作ってます。
普段こういうこと気にしながら、こんな风に作ってます。
c-mitsuba
?
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Cocoa勉強会関西 #55 MagicalRecordでCore DataをシンプルにするCocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
asakahara
?
颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと
颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと
颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと
Hiratsuka Shunsuke
?
仮想化ソフトウェアによる个人サーハ?を利用した授业の提案
仮想化ソフトウェアによる个人サーハ?を利用した授业の提案仮想化ソフトウェアによる个人サーハ?を利用した授业の提案
仮想化ソフトウェアによる个人サーハ?を利用した授业の提案
Takuya Numazaki
?
UXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フローUXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フロー
c-mitsuba
?
今日からできるカラーデザインチェック
今日からできるカラーデザインチェック今日からできるカラーデザインチェック
今日からできるカラーデザインチェック
Kunio Sakamoto
?
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
Isao Takahashi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリ「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリ
tomohiroimaizumi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
JJUG CCC 2016 Fall hishidama
JJUG CCC 2016 Fall hishidamaJJUG CCC 2016 Fall hishidama
JJUG CCC 2016 Fall hishidama
hishidama
?
普段こういうこと気にしながら、こんな风に作ってます。
普段こういうこと気にしながら、こんな风に作ってます。普段こういうこと気にしながら、こんな风に作ってます。
普段こういうこと気にしながら、こんな风に作ってます。
c-mitsuba
?
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Cocoa勉強会関西 #55 MagicalRecordでCore DataをシンプルにするCocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
asakahara
?
颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと
颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと
颈辞蝉+础苍诲谤辞颈诲最近気付いいたこと
Hiratsuka Shunsuke
?
仮想化ソフトウェアによる个人サーハ?を利用した授业の提案
仮想化ソフトウェアによる个人サーハ?を利用した授业の提案仮想化ソフトウェアによる个人サーハ?を利用した授业の提案
仮想化ソフトウェアによる个人サーハ?を利用した授业の提案
Takuya Numazaki
?
UXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フローUXDD MVVM Store Apps 蜜葉式開発フロー
UXDD MVVM Store Apps 蜜葉式開発フロー
c-mitsuba
?
今日からできるカラーデザインチェック
今日からできるカラーデザインチェック今日からできるカラーデザインチェック
今日からできるカラーデザインチェック
Kunio Sakamoto
?
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
「自分でやる」という快感を追い続ける - あるプログラマーの成長戦略 -
Isao Takahashi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリ「プログラム名を指定して実行」という名のランチャーアプリ
「プログラム名を指定して実行」という名のランチャーアプリ
tomohiroimaizumi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
UiPathFriends 2022-03-16
UiPathFriends 2022-03-16UiPathFriends 2022-03-16
UiPathFriends 2022-03-16
Seiya Noguchi
?
JJUG CCC 2016 Fall hishidama
JJUG CCC 2016 Fall hishidamaJJUG CCC 2016 Fall hishidama
JJUG CCC 2016 Fall hishidama
hishidama
?

Recently uploaded (13)

PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料
ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料
ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料
周 小渕
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
?
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
ElasticsearchでSPLADEする [Search Engineering Tech Talk 2025 Winter]
kota usuha
?
ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料
ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料
ビットコインテストネットでの送金体験付きビットコイン?ブロックチェーン勉强会资料
周 小渕
?
Matching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdfMatching_Program_for_Quantum_Challenge_Overview.pdf
Matching_Program_for_Quantum_Challenge_Overview.pdf
hirokiokuda2
?
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ドメインモデリング基本编①词全体の流れ2025冲02冲27社内向け开催.辫辫迟虫
ssuserfcafd1
?
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OSIoT Devices Compliant with JC-STAR Using Linux as a Container OS
IoT Devices Compliant with JC-STAR Using Linux as a Container OS
Tomohiro Saneyoshi
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?

颁#でこなす别虫肠别濒课题