[#47045] Is Ruby1.8.7 end-of-life? — "ISHIKAWA Takayuki" <rechka_osaka@...>
こんにちは、石川です。
4 messages
2010/05/03
[#47049] fileのopenに関する動作についての質問 — 高橋作郎 <sakurou3960@...>
はじめまして。
14 messages
2010/05/04
[#47050] Re: fileのopenに関する動作についての質問
— "Hideo Konami" <konami@...>
2010/05/04
小波と申します。
[#47051] Re: fileのopenに関する動作についての質問
— 高橋作郎 <sakurou3960@...>
2010/05/04
2010年5月4日21:18 Hideo Konami <konami@kyoto-wu.ac.jp>:
[#47093] [ANN] Ruby/Tk-Kit for RubyInstaller 1.9.1p378rc2 — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
6 messages
2010/05/20
[#47104] rails3 ドキュメント翻訳について — Makoto Kuwata <kwa@...>
桑田といいます。
11 messages
2010/05/24
[ruby-list:47085] Win32oleでExcel Worksheetsの選択
From:
Tomoya Katsuki <tomoya.katsuki.zj@...>
Date:
2010-05-14 00:42:11 UTC
List:
ruby-list #47085
はじめまして、甲木と申します。
ちょっと困ったことが発生したので、ご存知の方がいらっしゃいましたら
アドバイスをいただけたらと思います。
win32oleを使用して、
Excelファイルを開く
シートを選択する
必要なデータをcsvとしてファイルに書き出す
という処理をさせていました。
ところが、新しいExcelファイルをもらったところ
シートを選択する行で
excel2csv_sif.rb:36 in `method_missing`: unknown property or method `worksheets`(WIN32OLERuntimeError)
HRESULT error code:0x800a9c64
と発生してしまいます。
原因をご存知の方がいらっしゃいましたら教えていただきたいです。
新しいExcelファイルというのは、今まで操作できていたExcelファイルに対して
値が変わっているのと、ExcelVBAが変わっているくらいで本件のような問題は
発生しないと思っていました。
動作環境 WindowsXP(32bit) SP3
Ruby1.8.7-p22
Excel2003
ソースコード(一部)
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
# Windows用ライブラリを読み込む
require 'win32ole'
$KCODE = 'SJIS'
begin
xl = WIN32OLE.new('Excel.Application')
#ディレクトリをSCAN
DIRNAME = ARGV[0]
dir = Dir.open(DIRNAME)
dir.each { |fname|
#ファイル名をチェック
if (fname =~ /\.xls$/) then
# 出力ファイル名を設定
OFILE = fname.gsub(/\.xls$/, ".csv")
of = File.open(DIRNAME+OFILE, "w")
# Excelファイルを開く
xlbook=xl.Workbooks.Open(DIRNAME + fname)
# シートをスキャン
#sheet=xlbook.Worksheets("テストケース") <-ここでエラーが出ます
sheet=xlbook.worksheets(1) <-この2行どっちの形式でも結果は同じです