Ruby で Excel

Excel のシート名を列挙する (ADO)

lesson007.rb


require 'win32ole'

cn = WIN32OLE.new("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "Data Source=" + ARGV[0] + ";Extended Properties=Excel 8.0;"
cn.CursorLocation = 3 # adUseClient
cn.Open

rs = cn.OpenSchema(20) # adSchemaTables
while !rs.EOF
puts rs.Fields("TABLE_NAME").Value
rs.MoveNext
end
rs.Close

cn.Close

実行結果

C:\>ruby c:\study\ruby\chapter004\lesson007.rb c:\study\Book1.xls
Sheet1$
Sheet2$
Sheet3$