From: cbf17819@... Date: 2013-03-17T14:12:26+09:00 Subject: [ruby-list:49284] ocraでexe化できない ruby超初心者のぱぱのすけと言います。 erbを使ってエクセルからhtmlにデータを埋め込んで書き出すプログラムを作成しまし た。 プログラムは動作思い通りに動作するようになりました。 しかし、職場で使用する場合すべての端末にrubyがインストールされているわけではな く ocraでexe化して他の端末で使用しようと考えています。 しかし、ocraで変換したところエラーが発生して作成されません。 ocraが対応していないのか、自分のプログラムの誤りなのか。 ご教授願います。 rubyバージョン:1.9.3p392 ocra:1.3.0 os:Windows7 from ぱぱのすけ ----------------ソースここから------------------- # -*- encoding: utf-8 -*- require "erb" require "win32ole" require "kconv" # 絶対パスの取得 def getAbsolutePath filename fso = WIN32OLE.new('Scripting.FileSystemObject') return fso.GetAbsolutePathName(filename) end # エクセルファイル指定 xlsFileName = getAbsolutePath("test.xlsx") xl = WIN32OLE.new('Excel.Application') book = xl.Workbooks.Open(xlsFileName) # 各シート割り当て sheet1 = xl.Worksheets.Item("sheet1") a = sheet1.Range("A1").Value # ファイル作成 infile = File.open("07_1.htm",'r') outfile = File.open("output.html",'w:utf-8') outfile.puts ERB.new(infile.read).result outfile.close infile.close xl.Workbooks.close xl.Quit ----------------ソースここまで------------------- ----------------htmlここから--------------------- <%# 〜途中略  %> <%= a %> ----------------htmlここまで--------------------- ----------------エラーここから------------------- C:\Users\xxxx\Documents\ruby\test>ocra C:\Users\xxxx\Documents\ruby\test\main. rb === Loading script to check dependencies (erb):3:in `
': undefined local variable or method `a' for main:Object (N ameError) from C:/Ruby193/lib/ruby/1.9.1/erb.rb:838:in `eval' from C:/Ruby193/lib/ruby/1.9.1/erb.rb:838:in `result' from C:/Users/papanosuke/Documents/ruby/test/main.rb:30:in `' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ocra-1.3.0/bin/ocra:1146:in ` load' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ocra-1.3.0/bin/ocra:1146:in ` ' from C:/Ruby193/bin/ocra:23:in `load' from C:/Ruby193/bin/ocra:23:in `
' ----------------エラーここまで-------------------