読者です 読者をやめる 読者になる 読者になる

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

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

RubyでExcel操作メモ_003_VBAメソッドの呼び出し

RubyでExcel操作

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

ホントにちょっとしたことだけど、
今回はVBAの関数の呼び出し。

個人的にはこれが一番やりたかった。

 

Rubyのソース>

require 'win32ole'

app = WIN32OLE.new('Excel.Application')
path = 'C:\\rb\\test.xlsm'
book = app.Workbooks.Open(path)

book.sheets(2).Select

book.sheets(2).setData

book.save
book.close(false)
app.quit

 

VBAのソース>

Public Sub setData()
    ActiveSheet.Cells(3, 3).Value = "呼び出されました"
End Sub

(注意)Rubyから呼び出せるように「Public」にすること。 

 

 VBAのソースを呼び出すので、

念のためにファイルの拡張子も「xlsm」で試してみた。

とりあえず、これで呼び出せたので、

あとは、RubyVBAをそれぞれ、

どの部分まで処理を 分担させるかかな。

 

まぁ、どっちかだけでってなると、VBAの方が、

やっぱり、Visual  Basic Editorを使える分、

なれているのもあるけど、そっちが楽だと感じてしまう。

 

しかし、Rubyに触れる良い機会なので、

もうちょっといじってみようかと思う。