rubyからexcel fileを立ち上げて、ユーザーが勝手にエクセルを操作して。クローズしたいのですが、以下のsampleコードを参考にしてるのですが、エクセルがバックグランドで動いています。

ただrubyからパスを指示してexcelのfileを立ち上げるだけなのですが、いろいろそれらしいページのサンプルを実行してもexcelが目に見えてたちあがりません。どこがおかしいのでしょうか?

require 'win32ole'

def getAbsolutePath filename
fso = WIN32OLE.new('Scripting.FileSystemObject')
return fso.GetAbsolutePathName(filename)
end
filename = getAbsolutePath("sample1.xls")

xl = WIN32OLE.new('Excel.Application')

book = xl.Workbooks.Open(filename)
begin
book.Worksheets.each do |sheet|
sheet.UsedRange.Rows.each do |row|
record = []
row.Columns.each do |cell|
record << cell.Value
end
puts record.join(",")
end
end
ensure
end

回答の条件
  • 1人2回まで
  • 登録:2009/11/07 22:28:55
  • 終了:2009/11/08 00:34:04

ベストアンサー

id:HALSPECIAL No.3

HALSPECIAL回答回数407ベストアンサー獲得回数862009/11/07 23:55:11

ポイント32pt

VisibleプロパティをTrueにします。


xl = WIN32OLE.new('Excel.Application')

xl.visible = true

その他の回答(2件)

id:kn1967 No.1

kn1967回答回数2915ベストアンサー獲得回数3012009/11/07 23:29:32

ポイント27pt

Excelを表示する。

xl.visible = true
id:chyopper No.2

chyopper回答回数416ベストアンサー獲得回数692009/11/07 23:50:08

ポイント27pt

これはExcelファイルをバックグラウンドで編集するサンプルでは無いでしょうか。

Excel等の外部プログラムを単に立ち上げる場合は、system()やexec()関数を使います。

例えば

system 'start c:\\windows\\xxx.xls'

id:HALSPECIAL No.3

HALSPECIAL回答回数407ベストアンサー獲得回数862009/11/07 23:55:11ここでベストアンサー

ポイント32pt

VisibleプロパティをTrueにします。


xl = WIN32OLE.new('Excel.Application')

xl.visible = true

  • id:shotomo
    皆さんありがとうございます。
    もっと試してやるべきですね。助かりました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません