2011-09-20 54 views
3

使用Shoes时出现问题。我基本上试图打开一个Excel文档,并将工作表的名称传递给list_box。选择文件后按下按钮时会调用以下方法。 (这所有的作品和文件打开)从excel填充时,Ruby(Shoes)列表框崩溃

exc = WIN32OLE::new('excel.Application') 
excWB = exc.Workbooks.Open(xlsFile) 
@excWS = Array::new 
exc.visible = true 
excWB.Worksheets.each { |ws| @excWS.push(ws.name) } 
para @excWS 
list_box :items=> @excWS 

不仅名字不在list_box显示,应用程序崩溃,没有错误装载盒后不久。 para @excWS显示没有问题的工作表名称。

我在做什么错?

回答

0

这是这是问题 这工作

Shoes.app :width => 400, :height => 340, :size => 8 do 
    require 'win32ole' 
    exc = WIN32OLE::new('excel.Application') 
    excWB = exc.Workbooks.Open('C:/Shoes/0.r1514/test/book1.xls') 
    @excWS = Array::new 
    exc.visible = false 
    excWB.Worksheets.each { |ws| @excWS.push(ws.name.force_encoding("UTF-8")) } 
    list_box :items=> @excWS 
    exc.ActiveWorkbook.Close(0); 
    exc.Quit(); 
end 
编码