Slide 1

Slide 1 text

だいたいの流れ • Rubyのインストール – http://rubyinstaller.org/downloads/ – Ruby 2.0.0-p247 を保存して実行 • Windowsオブジェクトの操作の仕方 – http://magazine.rubyist.net/?0003-Win32OLE – http://magazine.rubyist.net/?0004-Win32OLE

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

↓のコマンドを打って、 何が起こるか見てみよう C:¥Users¥k-ohtani>irb DL is deprecated, please use Fiddle irb(main):001:0> require 'win32ole' => true irb(main):002:0> ie = WIN32OLE.new('InternetExplorer.Application') => # irb(main):004:0> ie.Visible = true => true irb(main):003:0> ie.Navigate("http://www.google.co.jp/") => nil irb(main):005:0> ie.document.all.Item("q").Value = "voyage group" => "voyage group" irb(main):006:0> ie.document.all.Item("btnG").click() => nil irb(main):007:0>

Slide 4

Slide 4 text

ファイルに書いて、 実行してみよう require 'win32ole' ie = WIN32OLE.new('InternetExplorer.Application') ie.Visible = true ie.Navigate("http://www.google.co.jp/") while ie.busy sleep 1 end ie.document.all.Item("q").Value = "voyage group" sleep 1 ie.document.all.Item("btnG").click() C:¥Users¥k-ohtani>ruby Desktop¥hello_ie.rb

Slide 5

Slide 5 text

Excelファイルを扱う: ファイルに書いて、実行してみよう require 'win32ole' def getAbsolutePath filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end filename = getAbsolutePath(ARGV[0]) xl = WIN32OLE.new('Excel.Application') book = xl.Workbooks.Open(filename) begin book.Worksheets.each do |sheet| sheet.UsedRange.Rows.each do |row| record = [] row.Columns.each do |cell| record << cell.Value end puts record.join(",") end end ensure book.Close xl.Quit end C:¥Users¥k-ohtani>Desktop C:¥Users¥k-ohtani¥Desktop>ruby to_csv.rb Book1.xlsx C:¥Users¥k-ohtani¥Desktop>ruby to_csv.rb Book1.xlsx > Book1.csv