WIN32ole.connect('Excel.Application')
とすると起動中のEXCELオブジェクトが取れます。
しかし、複数起動していると、一番初めに起動したEXCELしか取れず、残念な感じ。
WIN32ole.connect(ブックのファイル名)
とすると、複数起動していても、特定のブックが取れます。
そのブックが開かれていない場合は新たに開きます。
require 'win32ole'
work_book = WIN32OLE.connect('C:/test.xlsx') # 絶対パスでないとダメっぽい
# WIN32ole.connect('Excel.Application')ではExcelアプリケーションのオブジェクトが返るがこれはワークブックのオブジェクトが返る。
work_book.Name #=> test.xlsx