人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: shotomo
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:.new application BEGIN book cell
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● kn1967
●27ポイント

Excelを表示する。

xl.visible = true

2 ● chyopper
●27ポイント

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

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

例えば

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


3 ● HALSPECIAL
●32ポイント ベストアンサー

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


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

xl.visible = true

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ