不器用(TOT) エンジニアの気ままにプログラミング

~考え、作って、また考える~

RubyでExcel操作メモ_004_ファイル作成/保存

Rubyから「win32ole」というのを使って、
色々と操作できるようなので、
使ってみたときのメモを残していく。

ホントにちょっとしたことだけど、

今回は新規ファイルを作り、

旧ファイル⇒新ファイルへの値コピー。

 

Rubyのソース>

require 'win32ole'

class FileCls
 INFILENAME  = 'C:\\rb\\in.xlsx'
 OUTFILENAME  = 'C:\\rb\\out.xlsx'
end

app = WIN32OLE.new('Excel.Application')
inpath  = FileCls::INFILENAME
outpath = FileCls::OUTFILENAME
inbook  = app.Workbooks.Open(inpath)
outbook  = app.Workbooks.add

outbook.sheets(1).Cells(1,1).Value = inbook.sheets(1).Cells(1,1).Value

inbook.save
inbook.close(false)
outbook.saveAs(outpath)
outbook.close(false)
app.quit

 

元のファイルの更新はsaveメソッドでよかったけれど、

ファイル名指定で更新するならsaveAsメソッドを使います。

これでとりあえず、ファイル内容の簡易コピーができます。