Ruby as excel vba event handler replacement using win32ole?


#1

I’ve seen Ruby used as a script to save all Word doc files as rtf
instead.
Can ruby be used interactively to process events that would usually be
handled in VBA in Excel for example?


#2

Hello,
In message “ruby as excel vba event handler replacement using win32ole?”
on 06/01/13, Ammon C. removed_email_address@domain.invalid
writes:

Can ruby be used interactively to process events that would usually be
handled in VBA in Excel for example?

Does WIN32OLE_EVENT class help you?

require ‘win32ole’

def sheet_changed(arg1, arg2)
p arg1.value
end

excel = WIN32OLE.new(“Excel.Application”)
excel.visible = true
book = excel.workbooks.Add
ev = WIN32OLE_EVENT.new(book, ‘WorkbookEvents’)
ev.on_event(‘SheetChange’){|arg1, arg2|
sheet_changed(arg1, arg2)
}

book.Worksheets(1).Range(“A1”).value = 100
book.Worksheets(1).Range(“A2”).value = 200
book.Worksheets(1).Range(“B1”).value = 300


#3

Thanks, I’ll try that! That is the kind of thing I was looking for -
event
handling in Ruby.