2011-09-20 51 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 
編碼