Hatena::ブログ(Diary)

m2

2011-12-21

僕たちプログラマーは、プログラミングに、Excelを使います!

なんとかカレンダー 21日目 id:miya2000 です。こんばんは!

低級テキストエディタでせっせとコーディングしているあなた!そろそろ手がが疲れてきていませんか?

そんなあなたは、この記事で紹介する Excel コーディングをぜひ覚えてください。

わずか数秒で世界が変わります!

元ネタ

めんどうな作業がわずか数秒に!新人デザイナーが 知らないと一生後悔するExcelを使ったHTML生成 | Webロケッツマガジン
http://webrocketsmagazine.com/entry/20111209/html-code-generation-using-excel.html

Excelを使った高級コーディング

とにかく Excelコーディングを行った画面を見てみましょう。今回は Javaコーディングをやってみます。

f:id:miya2000:20111221231556j:image

どうでしょう? 画面を見るだけでどれだけ恩恵があるかお分かりになるでしょうか。

画像にも書いていますが、パッと思いつくだけで以下のメリットがあります。

  • インデントをセルの幅で行うことで 2tab 4tab 戦争が終結!
  • 行頭以外を縦にそろえるのも列を揃えてあげれば簡単!
  • 「連続データ」機能で簡単入力!
  • コメントが別レイヤになり、ソースの邪魔にならずスッキリ!
  • マクロ機能で様々な機能を追加可能!

インデントや文字の位置揃え等、プログラムの本質以外の部分で時間を使う時代は終わりました!
そしてコメントは視覚的にもコメントらしくなり、「長文コメントのせいでソースが縦に長くなってスクロールめんどい」なんてこともありません!


ソースコードはテキストファイルである必要はなかったんや〜」

「な、なんだってー!」


でも、コンパイルも実行もできなんでしょう?

Excelコーディングしてもコンパイルも実行もできない… そんなふうに考えていた時期が俺にもありました。

とはいえシートからコードを抽出してファイルに出してコンパイルすればいいだけなので、その程度のことはマクロで書いちゃいましょう。

クラスパスは「.classpath」のシートに列挙してそこから読み出すようにしました。

f:id:miya2000:20111221231557j:image

実行引数も「.args」のシートに列挙。値の列挙も Excel が得意とする部分です。

f:id:miya2000:20111221231558j:image

あとは「開発」→「マクロ」からマクロを実行します。

f:id:miya2000:20111221231559j:image

結果はこんな感じです。ちゃんと実行できましたね!

f:id:miya2000:20111221231600j:image


Excel コーディングの目玉! 「連続データ」機能!

「連続データ」機能の威力をお見せしましょう!

現在 data10 まであるプロパティを datra15 まで増やしたいとします。
やり方は簡単で data10 のセルの右下の部分を右クリック→下へドラッグするだけ!

D

ドラッグ後に表示されるコンテキストメニューで「連続データ」を選択すると、ホラ! 「data10」の数字部分が 10 からの連番になってセルが埋められるんです!

まとめ

以上、id:miya2000 でした!

megascusmegascus 2011/12/22 07:34 data6が廃止されてないというバグを見つけてしまいました・・・・・

daiksydaiksy 2011/12/22 08:43 ぜひ! 変態アドベントカレンダーのコメントにリンク貼っちゃってください!

MMGamesMMGames 2011/12/22 19:37 ネタならネタですってどこかでちゃんと明言しておかないと新人さんが勘違いしちゃうと思うのですが。

yukkie2071yukkie2071 2011/12/22 21:35 関数・変数一覧は表ソフト使うこともあるけどなぁ……。ここまでExcelにこだわる理由があまりないんだよなぁ、Eclipseとか使ってると。教材テキスト印刷するにはいいかもしんない。

miya2000miya2000 2011/12/22 23:38 id:megascus マジですか!? ぜひパッチを送ってください! Excelで!
id:daiksy ありがとうございます! さっそくお邪魔させていただきました!
id:MMGames そういうのはぜひ新人と直接ディスカッションしてください!
id:yukkie2071 独り言はツイッターにどうぞ! http://twitter.com/

megascusmegascus 2011/12/23 08:22 id:miya2000 pull request送るのでGitHubで公開してくだしあ。

megascusmegascus 2011/12/23 08:23 って、何、マクロだけ公開されているのかw失礼しました。すぐにパッチを送ります。><

megascusmegascus 2011/12/23 08:34 あれ、ソースコード読むと取り消し線に対応されているんですが。なんでブログ上だと実行されてますか><

miya2000miya2000 2011/12/23 09:41 id:megascus 「ブログ上」っていうとどの部分になりますか? 実行結果では「data6」ってのが出力されていないので正しそうに見えますが。。。
遠慮なくなんでもご指摘ください。

IwamotoIwamoto 2011/12/23 11:58 ネタだと思って笑ってたら、自分が昔やってたの思い出した。
COBOLなんだけど、様式美(つまりこぴぺ)が多いのでおもわず…

megascusmegascus 2011/12/23 12:07 あれ、本当だ。見間違いでした。ゴメンナサイ(;´Д`)

myopommemyopomme 2011/12/27 12:39 ソースコードの色分け(?)は何かのマクロですか?私はRという統計言語を使っているのですが、是非、応用したいと思ってます。

miya2000miya2000 2011/12/27 22:58 id:myopomme すみません、色分けについては私のブクマコメントを -> http://b.hatena.ne.jp/miya2000/20111222#bookmark-72990653
たぶんまったく役に立たないです。なんだか申し訳ないです。。。

myopommemyopomme 2011/12/28 00:13 なるほど…私の場合、コーディングの色分けが低級エディターの良い点と思っているので…

pulpemotionpulpemotion 2012/01/21 22:08 今までviでも使ってたの?って感じの今更感

SuperDbToolSuperDbTool 2015/03/16 15:25 これは面白い!!

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。