僕たちプログラマーは、プログラミングに、Excelを使います!
なんとかカレンダー 21日目 id:miya2000 です。こんばんは!
低級テキストエディタでせっせとコーディングしているあなた!そろそろ手がが疲れてきていませんか?
そんなあなたは、この記事で紹介する Excel コーディングをぜひ覚えてください。
わずか数秒で世界が変わります!
元ネタ
めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン
http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html
Excelを使った高級コーディング
とにかく Excel でコーディングを行った画面を見てみましょう。今回は Java のコーディングをやってみます。
どうでしょう? 画面を見るだけでどれだけ恩恵があるかお分かりになるでしょうか。
画像にも書いていますが、パッと思いつくだけで以下のメリットがあります。
- インデントをセルの幅で行うことで 2tab 4tab 戦争が終結!
- 行頭以外を縦にそろえるのも列を揃えてあげれば簡単!
- 「連続データ」機能で簡単入力!
- コメントが別レイヤになり、ソースの邪魔にならずスッキリ!
- マクロ機能で様々な機能を追加可能!
インデントや文字の位置揃え等、プログラムの本質以外の部分で時間を使う時代は終わりました!
そしてコメントは視覚的にもコメントらしくなり、「長文コメントのせいでソースが縦に長くなってスクロールめんどい」なんてこともありません!
「ソースコードはテキストファイルである必要はなかったんや〜」
「な、なんだってー!」
でも、コンパイルも実行もできなんでしょう?
Excel でコーディングしてもコンパイルも実行もできない… そんなふうに考えていた時期が俺にもありました。
とはいえシートからコードを抽出してファイルに出してコンパイルすればいいだけなので、その程度のことはマクロで書いちゃいましょう。
クラスパスは「.classpath」のシートに列挙してそこから読み出すようにしました。
実行引数も「.args」のシートに列挙。値の列挙も Excel が得意とする部分です。
あとは「開発」→「マクロ」からマクロを実行します。
結果はこんな感じです。ちゃんと実行できましたね!
Excel コーディングの目玉! 「連続データ」機能!
「連続データ」機能の威力をお見せしましょう!
現在 data10 まであるプロパティを datra15 まで増やしたいとします。
やり方は簡単で data10 のセルの右下の部分を右クリック→下へドラッグするだけ!
ドラッグ後に表示されるコンテキストメニューで「連続データ」を選択すると、ホラ! 「data10」の数字部分が 10 からの連番になってセルが埋められるんです!
まとめ
- ソースコードはテキストエディタで書かないといけない理由はなく、テキストファイルである必要もない。
- Excel は「値を入力する」ソフトウェアとしてとても優れている。
- 「なんとか」の部分は変態アドベントカレンダー 2011 : ATND とかどうかな。。。そんなに変態でもないか。
以上、id:miya2000 でした!