Ammon Christiansen
1/17/2006 5:31:00 PM
Thanks, I'll try that! That is the kind of thing I was looking for - event
handling in Ruby.
On 1/16/06, Masaki Suketa <masaki.suketa@nifty.ne.jp> wrote:
>
> Hello,
> In message "ruby as excel vba event handler replacement using win32ole?"
> on 06/01/13, Ammon Christiansen <ammon.christiansen@gmail.com> 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
>
>
>
>