cuzic 様 すばらしい対応策をご教示いただき感謝申し上げます。 > WIN32OLE::connect を利用すれば、新しい Excel.exe が増えることなく > 既存の Excel に接続できます。 > > 具体的には下記のようにすれば、まだ開いていない場合にだけ開くことが > できるのではないでしょうか? 私の場合では、次の要領で、完璧でした。RDE上でももちろん問題なく動きます。 勉強になりました。 require 'win32ole' begin xl = WIN32OLE::connect("Excel.Application") rescue WIN32OLERuntimeError xl = WIN32OLE.new("Excel.Application") end excelfile="c:\\file.xls" book = xl.Workbooks.Open(excelfile) sheet=book.Worksheets(1) arr= sheet.UsedRange.Rows.Columns.Value p arr yahata