From: YOSHIIZUMI Date: 2009-03-27T23:24:55+09:00 Subject: [ruby-list:45943] ADO, ADOX を扱うためのクラスライブラリ yado.rb  吉泉といいます。  初めて投稿させていただきます。  exerbでrubyスクリプトをWindowsアプリにできるのに引かれて、rubyを始めた素人日 曜プログラマーです。  Rumix0.4の通常版を使わせていただきました。日本語メッセージのインストーラで、 gem, rake, exerb も一緒にインストールされるので助かります。  私自身は GUIが苦手で Officeのようなアプリからなるべく離れたいと望みながら、仕 事では周囲が Windows Office only なので、それとの協調もしないわけにはいかず……  そこで、できるだけOfficeソフトを使わずに、簡単に関連ファイルを扱えないかと思 い、その手段としてrubyに注目しました。  Windowsに用意されているADOおよびADOXの仕組を利用すれば、Access, Excelのファイ ルを作成・参照・更新できます。それらアプリがインストールされていないパソコンで も大丈夫です。  そうしたADOによる処理をrubyで簡単に実現するために作ってみたのが yado.rb です。 紹介ページ: http://cup.sakura.ne.jp/yado.htm ZIPアーカイブ: http://cup.sakura.ne.jp/yado100.zip  Access, ExcelのファイルをSQL命令で操作したい時に、同梱の yadosql.exe を利用で きます。  これをDOSプロンプトで起動すると、標準入力から入力されたSQL命令が実行され、そ の結果が標準出力・標準エラー出力に出力されます。  このexeは、yadosql.rb, yado.rb, win32ole.so の3つをexerbで固めたものです。  ADOを扱うためのrubyのライブラリは既にいくつかありますが、特別なインストールな しで、ごく簡単に使えればと思って yado.rb を作ってみました。  例えば、次の実質4行のスクリプトで、Accessのサンプルデータベース Northwind.mdb の標準テーブルの中身をExcelファイルとして書き出します(バイナリデータは除きます)。 -------- #! ruby.exe -KS require 'yado' db = Yado.new 'Northwind.mdb' db.print_all_values 'OUTPUT.XLS' # OUTPUT.TXTだとタブ区切りテキストに db.close --------  また、上の「db.print_all_values ……」のところを db.print_binary_values '商品区分', '図' とすれば、Northwind.mdb に含まれている8つのBMPデータをディスクに書き出します。  もちろん、queryメソッドによってSQL命令の実行も可能です。 db.query("SELECT * FROM 受注明細;") {|rs| puts rs.join("\t")} というような記述ができます。  なんとも素人っぽい発想のスクリプトですが、よかったらお試しください。