- blogs:
- cles::blog

Excel で Python


Python で Excel を操ることができる DataNitro というアドオンが面白そうだったのでメモ。
Microsoft ExcelでPythonのスクリプトを動かせるプラグインDataNitroが一般公開へ
パワーユーザは長年、Microsoft Visual Basic for Applications(VBA)を使ってExcelのスクリプトを書いてきたし、Microsoftは近い将来JavaScriptをOfficeで使えるようにするらしい。しかしそれでも、PythonはExcelを毎日むち打つ騎手たちにとって強力なツールになる。Pythonが人気トップのプログラミング言語であることは、いろんな数字から言える。シンタクスが単純明快、クリーンですっきりしている。だからプログラミングの初心者やプログラミングの入門コースに向いているが、GoogleやNASAなどいろんなところで製品の実装に使われている。この言語を好きになる理由はたくさんあり、ExcelのスクリプティングにPythonを使うようになったら、ほかのアプリケーションにも使えるようになる。
Excel の操作を自動化したいと思うことはあるのですが、Excel VBA を覚えるのはちょっとなぁと思っていたので、そういう人にはいいかもしれません。非商用 (For noncommercial projects) であれば無料で使用することができます。インストールはインストーラーがついているので、それに従っていけば問題なくインストールすることができます。インストールが完了すると DataNitro というタブが現れます。
Python Shell というボタンを押すと、普通の Python の CLI が起動しますが、すでにこれが Excel とつながっているので、ここにセルの値をいじるようなスクリプトを書くとセルの値をいじることができます。マニュアルも揃っている*1ので Python を知っていれば簡単に始められるのもいいですね。これでユーザー定義をガンガン書いていければ面白そうだなと思ったのですが、何故か自分の環境では上手く動かないので、マニュアルをよく読んでみたら現在 64-bit Office 2010 ではユーザー定義関数はサポートしていないとのこと。これはちょっと残念です。
DataNitro Documentation
UDF's are not currently supported in 64-bit Office 2010.
If you have multiple instances of Excel open, udf's will only work in the first one.
Excel からウェブサービスを呼んでちょっとした処理をしたいなんていうときには大活躍してくれそうです。
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/5151
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
2 . リモートデスクトップで Alt + PrtSc と同じことをするには(1137)
3 . RDP のプロトコルを TCP だけに変更する(950)
4 . Flash Player projector を使って .swf をスタンドアローンで再生する(895)
5 . リモートデスクトップで Ctrl + Alt + Del キーを送信するには(824)