〜 rubyなしでExcel操縦rubyスクリプトなどを実行するためのexl.exe 〜
2013/12/25
パッケージ: exl.zip
前回(2013.7.3)からの変更点は次のとおり。
Excelを自動操縦するため、exlap.rbというruby用ライブラリを作りましたが、当然ながらrubyがインストールされてないと使えません。
しかし、rubyのない環境で実行できると便利なケースがあります。そこで、exl.exeを作りました。rubyがインストールされていない環境でも、exlap関連のサンプルを実行できます。
パッケージ exl.zip には、exl.exe およびそのソースファイルなど関連ファイル一式が含まれています。必要なのは exl.exe だけです。他は必要に応じて参照して下さい。
exl.exeは、exerb(rubyスクリプトを実行可能なexeファイルに変換するソフト)で作成したものです。exl.exeのファイルサイズは 約1.4メガバイトです。
その他に、ocraで作成したexl.exeも同梱されています。こちらは約4.3メガバイトあります。
exl.exeを適当なディレクトリ(つまりフォルダ)にコピーします。それでインストールは終了です。
できれば、パスの通ったディレクトリにコピーしていただくと、後々便利ですが、そうしなければならないわけではありません。USBメモリーなどの外付媒体に置いておくのでもかまいません。
ちなみに、私は C:\usr\bin というディレクトリの下に exl.exe を置いています。
《Windowsのマイコンピュータ(VISTA以降では「コンピュータ」)を動かし、スクリプトに焦点を当ててメニュー呼び出しを行う。》そんな方式でスクリプトを実行したい人は、とりあえずexl.exeを実行して下さい。マイコンピュータでexl.exeに焦点を当てて、それをクリックすれば exl.exeを実行することになります。
こうすると、「送る」メニューに ExlRun.bat というのが追加されます。この使い方については次項で述べます。
もう一度 exl.exe を実行すると、「送る」メニューから ExlRun.bat が削除されます。必要なくなった時に行って下さい。
マイコンピュータで test.rb(rubyスクリプト)に焦点を当てている状態で、「送る」メニューを呼び出すと、その中に「ExlRun.bat」があると思います。それをクリックします。
すると、test.rb が ExlRun.bat に送られます。これで test.rb が実行されることになります。
もし そのスクリプトが test.xls を生成するものであれば、test.xls が書き出されます。
スクリプトが標準出力もしくは標準エラー出力を出力した場合は、スクリプトがあるのと同じディレクトリに !stdout.txt もしくは !stderr.txt というテキストファイルが書き出されます。
スクリプトに誤りがあってエラーが発生した時は、!stderr.txt にそのエラーの内容が書き出されます。
WindowsのDOSプロンプトは、DOS窓とかコマンドプロンプトなどと言われることもあるようです。
「ファイル名を指定して実行」を選んでから、cmdの3文字を入力し、エンターキーをたたくと、DOSプロンプトの状態になります。
この状態で、例えば
C:\usr\bin\exl.exe test.rb [enter]
のように入力すると、test.rbが実行されます。
exl.exeがパスの通ったディレクトリに置かれていれば、
exl.exe test.rb [enter]
のように、パス名を省略できます。先述の実行例にある C:\usr\bin\ を省略できます。
DOSプロンプトから抜け出すには
exit [enter]
と入力します。
MS-Windows版の統計解析ソフトRは、USBメモリーに入れて持ち歩き、常用パソコン以外でも比較的簡単に実行できます(*)。
同じUSBメモリーのどこかにocra版のexl.exeを入れておけば、rubyがインストールされていないパソコンでも、ruby経由でRを動作させ、htmlを生成するといったことが可能です。
USBメモリーのルートディレクトリ直下にR(半角1文字)のディレクトリを設け、その下にRをインストールしておけば、Rのコマンド(Rcmd.exe)にパスを通す必要もありません。exl.exeがそのコマンドの所在を探索します。
もちろん、Excelがインストールされていれば、*.xls などのファイルをRで処理できます。
(*) 「USBメモリへのRのインストール方法」は次のサイトで詳しく紹介されています。
http://humansci.let.hokudai.ac.jp/m/terao/stat/r/usb_install/usb_install.html
〜 以上 〜